Bug 1964114 (CVE-2021-35938) - CVE-2021-35938 rpm: races with chown/chmod/capabilities calls during installation
Summary: CVE-2021-35938 rpm: races with chown/chmod/capabilities calls during installa...
Status: NEW
Alias: CVE-2021-35938
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
Depends On: 1969327 1969328 1969329 1971278 1971280 1969798 1969799 1969800 1971279 1971281 1977844 2003064 2070453
Blocks: 1977372 1964123
TreeView+ depends on / blocked
Reported: 2021-05-24 18:25 UTC by msiddiqu
Modified: 2023-01-25 12:31 UTC (History)
12 users (show)

Fixed In Version: rpm 4.18.0
Doc Type: If docs needed, set a value
Doc Text:
A symbolic link issue was found in rpm. It occurs when rpm sets the desired permissions and credentials after installing a file. A local unprivileged user could use this flaw to exchange the original file with a symbolic link to a security-critical file and escalate their privileges on the system. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Clone Of:
Last Closed:

Attachments (Terms of Use)

Description msiddiqu 2021-05-24 18:25:07 UTC
When RPM installs a file/directory, it uses path-based operations afterwards to set the desired permissions and credentials. When the directory this is happening in is owned by an unprivileged user, that user can escalate privileges to root by exchanging the file/directory with a symbolic link to a security-critical file/directory.


Comment 9 Mauro Matteo Cascella 2021-06-30 15:21:42 UTC
Created rpm tracking bugs for this issue:

Affects: fedora-all [bug 1977844]

Comment 10 Mauro Matteo Cascella 2021-07-07 15:17:17 UTC
This flaw, along with CVE-2021-35937 and CVE-2021-35939, belong to a set of complex issues that may allow an unprivileged user to trick RPM into modifying root-owned files during installation, due to race conditions and/or symlink attacks. These issues do not have a solution upstream. Fixing would require rather involved refactoring of RPM internals.

Note that in this context, unprivileged users are actually system accounts (like the pcpqa user mentioned in one of the SUSE bugs) that are usually more tightly controlled than ordinary users. In general, access to files and directories installed by RPMs requires high privileges. Regular users should not be allowed to manipulate RPM artifacts during installation. A local attacker would first need to compromise a system account in order to exploit these flaws, thus reducing the overall impact considerably.

Comment 14 Panu Matilainen 2022-05-13 07:35:54 UTC
This is considered fixed in RPM 4.18 (https://rpm.org/wiki/Releases/4.18.0) which is currently in alpha stage of the release process, final version is expected in Q3.

Note You need to log in before you can comment on or make changes to this bug.