4.165. rpm

Updated rpm packages that fix multiple security issues are now available for Red Hat Enterprise Linux 4, 5, and 6, and Red Hat Enterprise Linux 3 Extended Life Cycle Support, 5.3 Long Life, 5.6 Extended Update Support, and 6.0 Extended Update Support.
The Red Hat Security Response Team has rated this update as having important security impact. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available from the CVE link associated with the description below.
The RPM Package Manager (RPM) is a command line driven package management system capable of installing, uninstalling, verifying, querying, and updating software packages.

Security Fixes

CVE-2011-3378
Multiple flaws were found in the way the RPM library parsed package headers. An attacker could create a specially-crafted RPM package that, when queried or installed, would cause rpm to crash or, potentially, execute arbitrary code.

Note

Although an RPM package can, by design, execute arbitrary code when installed, this issue would allow a specially-crafted RPM package to execute arbitrary code before its digital signature has been verified. Package downloads from the Red Hat Network remain secure due to certificate checks performed on the secure connection.
All RPM users should upgrade to these updated packages, which contain a backported patch to correct these issues. All running applications linked against the RPM library must be restarted for this update to take effect.
Updated rpm packages that fix multiple bugs and add two enhancements are now available for Red Hat Enterprise Linux 5.
The RPM Package Manager (RPM) is a command-line driven package management system capable of installing, uninstalling, verifying, querying, and updating software packages.

Bug Fixes

BZ#510469
Previously, an attempt to initialize the rpm database in a non-existent directory could have failed to create a transaction lock. With this update, this problem has been fixed in that RPM now tries to create a non-existent directory before creating the lock.
BZ#573043
Previously, an attempt to close a NULL rpmio file descriptor caused the process to terminate with when calling the "assert()" function. With this update, the problem with the process termination has been fixed and the "Fclose()" function now accepts a NULL pointer and performs no operation.
BZ#628883
Previously, in Python bindings, calling "hdr.dsFromHeader()" caused a SystemError exception on headers with no dependencies, for example gpg-pubkey headers. With this update, RPM now returns an empty dependency set object in this case.
BZ#673821
Previously, RPM library initialization forced the umask of the process to "022", which could have caused unwanted permissions for files created by software that makes use of the RPM API. With this update, the umask is now only changed for the duration of a transaction and restored to its previous value afterwards.
BZ#740345
Previously, disabling package scriptlet execution (the "rpm --noscripts" command) did not prevent "%pretrans" and "%posttrans" scriptlets from running. With this update, the "--noscripts" option now disables execution of all scriptlet types.

Enhancements

BZ#620674
The "%setup" and "%patch" spec directives now support transparent decompression of XZ and LZMA compressed source tarballs and patch files.
BZ#533831
Support for the "RPMCALLBACK_SCRIPT_ERROR" callback event has been added in this update. This allows programs that make use of the librpm API (for example yum) to report install or erase failures more accurately.
All users of RPM are advised to upgrade to these updated packages, which fix these bugs and add these enhancements.