First published: Tue Jun 01 2010(Updated: )
Created <span class="bz_obsolete"><a href="attachment.cgi?id=418879" name="attach_418879" title="SRPM for testing this bug">attachment 418879</a> <a href="attachment.cgi?id=418879&action=edit" title="SRPM for testing this bug">[details]</a></span> SRPM for testing this bug Description of problem: When RPM replaces an executable, it does not clear the setuid and setgid bits of the old file. Thus, if a user made a hard link to the old executable, he/she will still be able to run it with elevated privileges. This is bad if it was replaced because it had a vulnerability. The problem seems to occur only when executables are replaced, not when they are erased. This is the same bug that was previously noted in dpkg: <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=225692">http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=225692</a> Version-Release number of selected component (if applicable): rpm-4.8.0-14.fc13.x86_64 How reproducible: Always Steps to Reproduce: 1. Rebuild the attached SRPM twice, once with -D 'rel 1' and once with -D 'rel 2'. 2. mkdir /tmp/rpm-setuid-test 3. rpm -i rpm-setuid-test-0-1.fc13.$(rpm -E '%{_build_arch}').rpm 4. ln /usr/bin/rpm-setuid-test /tmp/rpm-setuid-test/ 5. rpm -U rpm-setuid-test-0-2.fc13.$(rpm -E '%{_build_arch}').rpm 6. ls -l /tmp/rpm-setuid-test/rpm-setuid-test Actual results: The old executable is setuid. Expected results: The old executable is not setuid.
Credit: secalert@redhat.com
Affected Software | Affected Version | How to fix |
---|---|---|
Rpm Rpm | =2.3.5 | |
Rpm Rpm | =4.4.2.1 | |
Rpm Rpm | =1.4.3 | |
Rpm Rpm | =3.0.1 | |
Rpm Rpm | =4.1 | |
Rpm Rpm | =2.2.3.11 | |
Rpm Rpm | =2.4.4 | |
Rpm Rpm | =2.3.8 | |
Rpm Rpm | =2.0.6 | |
Rpm Rpm | =1.4.4 | |
Rpm Rpm | =4.4.2 | |
Rpm Rpm | =1.4.2\/a | |
Rpm Rpm | =2.4.1 | |
Rpm Rpm | =2.4.9 | |
Rpm Rpm | =2.6.7 | |
Rpm Rpm | =2..4.10 | |
Rpm Rpm | =1.4 | |
Rpm Rpm | =2.0.10 | |
Rpm Rpm | =2.4.5 | |
Rpm Rpm | =4.0.1 | |
Rpm Rpm | =2.2.11 | |
Rpm Rpm | =4.0.4 | |
Rpm Rpm | =2.2.1 | |
Rpm Rpm | =2.0.1 | |
Rpm Rpm | =1.4.2 | |
Rpm Rpm | =3.0.3 | |
Rpm Rpm | =2.0.7 | |
Rpm Rpm | =4.0.2 | |
Rpm Rpm | =2.2.8 | |
Rpm Rpm | =3.0.2 | |
Rpm Rpm | =1.2 | |
Rpm Rpm | =4.0. | |
Rpm Rpm | =2.1.1 | |
Rpm Rpm | =4.3.3 | |
Rpm Rpm | =2.5.5 | |
Rpm Rpm | =2.0.8 | |
Rpm Rpm | =2.3 | |
Rpm Rpm | =4.4.2.2 | |
Rpm Rpm | =2.4.8 | |
Rpm Rpm | =3.0.4 | |
Rpm Rpm | =2.5.6 | |
Rpm Rpm | =2.0 | |
Rpm Rpm | =2.0.2 | |
Rpm Rpm | =2.3.2 | |
Rpm Rpm | =2.4.3 | |
Rpm Rpm | =2.4.2 | |
Rpm Rpm | =1.4.5 | |
Rpm Rpm | =2.0.11 | |
Rpm Rpm | =3.0.5 | |
Rpm Rpm | =1.3 | |
Rpm Rpm | =2.2.3 | |
Rpm Rpm | =2.2 | |
Rpm Rpm | =2.1.2 | |
Rpm Rpm | =2.3.9 | |
Rpm Rpm | =2.2.4 | |
Rpm Rpm | =2.2.9 | |
Rpm Rpm | =2.5.3 | |
Rpm Rpm | =2.2.6 | |
Rpm Rpm | =2.3.6 | |
Rpm Rpm | =2.5 | |
Rpm Rpm | =2.2.3.10 | |
Rpm Rpm | =2.0.5 | |
Rpm Rpm | =2.4.12 | |
Rpm Rpm | =2.5.4 | |
Rpm Rpm | =1.4.7 | |
Rpm Rpm | =3.0 | |
Rpm Rpm | =1.4.6 | |
Rpm Rpm | =2.5.2 | |
Rpm Rpm | =2.4.11 | |
Rpm Rpm | =2.0.9 | |
Rpm Rpm | =2.1 | |
Rpm Rpm | =2.2.10 | |
Rpm Rpm | =2.3.3 | |
Rpm Rpm | =2.3.7 | |
Rpm Rpm | =2.3.4 | |
Rpm Rpm | <=4.4.2.3 | |
Rpm Rpm | =2.0.4 | |
Rpm Rpm | =1.3.1 | |
Rpm Rpm | =3.0.6 | |
Rpm Rpm | =2.0.3 | |
Rpm Rpm | =2.3.1 | |
Rpm Rpm | =4.0.3 | |
Rpm Rpm | =2.4.6 | |
Rpm Rpm | =2.5.1 | |
Rpm Rpm | =2.2.5 | |
Rpm Rpm | =2.2.2 | |
Rpm Rpm | =2.2.7 | |
Rpm Rpm | =4.8.0 | |
Rpm Rpm | =4.6.0 | |
Rpm Rpm | =4.7.2 | |
Rpm Rpm | =4.7.0 | |
Rpm Rpm | =4.6.1 | |
Rpm Rpm | =4.7.1 | |
redhat/rpm | <0:4.3.3-33_nonptl.el4_8.1 | 0:4.3.3-33_nonptl.el4_8.1 |
redhat/rpm | <0:4.4.2.3-20.el5_5.1 | 0:4.4.2.3-20.el5_5.1 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.