CVE-2014-0022: Input Validation

Published Jan 23, 2014
·
Updated

Gabriel VLASIU reported [1] that yum-cron would install unsigned RPM packages that yum itself would refuse to install. The yum-cron code is based on that in yum-updatesd.py. This is due to the installUpdates() function (processPkgs() in yum-updatesd.py) failing to fully check the return code of the called sigCheckPkg() function. sigCheckPkg() is described thus:

def sigCheckPkg(self, po): """Verify the GPG signature of the given package object.

:param po: the package object to verify the signature of :return: (result, errorstring) where result is::

0 = GPG signature verifies ok or verification is not required. 1 = GPG verification failed but installation of the right GPG key might help. 2 = Fatal GPG verification error, give up. """

However, the processPkgs() and installUpdates() calling function do not account for return code 2:

def processPkgs(self, dlpkgs): ... for po in dlpkgs: result, err = self.updd.sigCheckPkg(po) if result == 0: continue elif result == 1: try: self.updd.getKeyForPackage(po) except yum.Errors.YumBaseError, errmsg: self.failed([str(errmsg)])

and:

def installUpdates(self, emit): ... for po in dlpkgs: result, err = self.sigCheckPkg(po) if result == 0: continue elif result == 1: try: self.getKeyForPackage(po) except yum.Errors.YumBaseError, errmsg: self.emitUpdateFailed(errmsg) return False

yum-cron.py replaced yum-cron.sh in Fedora 19 (3.4.3-47); earlier versions of Fedora use yum-updatesd.

This has been corrected upstream [2] and in Fedora via yum-3.4.3-132.fc19 and yum-3.4.3-130.fc20.

This does not affect Red Hat Enterprise Linux 6 as it used neither yum-updatesd nor yum-cron; it used a shellscript that called yum itself to do updates.

[1] https://bugzilla.redhat.com/showbug.cgi?id=1052440 [2] http://yum.baseurl.org/gitweb?p=yum.git;a=commitdiff;h=9df69e579496ccb6df5c3f5b5b7bab8d648b06b4

Other sources

The installUpdates function in yum-cron/yum-cron.py in yum 3.4.3 and earlier does not properly check the return value of the sigCheckPkg function, which allows remote attackers to bypass the RMP package signing restriction via an unsigned package.

MITRE

Affected Software

4 affected components
baseurl yum<=3.4.3
baseurl yum=3.4.0
baseurl yum=3.4.1
baseurl yum=3.4.2

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade yum (yum-cron) to a version that resolves this vulnerability.

    Fixed in yum-3.4.3-132.fc19
  2. Upgrade

    Upgrade yum (yum-cron) to a version that resolves this vulnerability.

    Fixed in yum-3.4.3-130.fc20

Event History

Jan 23, 2014
Data Sourced
via Red Hat·11:16 PM
DescriptionSeverityAffected Software
Jan 26, 2014
CVE Published
via MITRE·11:00 AM
Data Sourced
via MITRE·11:00 AM
Description
Data Sourced
via NVD·04:58 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2014-0022?

The severity of CVE-2014-0022 is rated as medium.

2

How do I fix CVE-2014-0022?

To fix CVE-2014-0022, ensure that updates are made only from trusted sources and consider disabling yum-cron until a secure patch is applied.

3

What kind of attack does CVE-2014-0022 allow?

CVE-2014-0022 may allow the installation of unsigned RPM packages, which compromises the integrity of the system.

4

What software is affected by CVE-2014-0022?

CVE-2014-0022 affects the yum and yum-cron software packages used for managing and installing RPM packages.

5

Who reported CVE-2014-0022?

CVE-2014-0022 was reported by Gabriel VLASIU.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203