Bug 479664 (CVE-2009-0126)

Summary: CVE-2009-0126 boinc-client: Does not check the RSA_public_decrypt() return value.
Product: [Other] Security Response Reporter: Jan Lieskovsky <jlieskov>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: xjakub
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=511521
Whiteboard:
Fixed In Version: boinc-client-6.4.5-2.20081217svn.fc10 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-02-05 15:17:36 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jan Lieskovsky 2009-01-12 12:05:12 UTC
The Berkeley Open Infrastructure for Network Computing (BOINC) client software
incorrectly checked the result after calling the RSA_public_decrypt function,
allowing a malformed signature to be treated as a good signature rather
than as an error.  This issue affected the signature checks on RSA keys used
with SSL/TLS.

References:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=511521

This issue is related with recent OpenSSL's CVE-2008-5077 flaw.

Comment 1 Jan Lieskovsky 2009-01-12 12:07:13 UTC
This issue affects all versions of the boinc-client package, as shipped
with Fedora updates of 9, 10 and devel.

Please fix.

Relevant part of the code (lib/crypt.C):

    228 int decrypt_public(R_RSA_PUBLIC_KEY& key, DATA_BLOCK& in, DATA_BLOCK& out) {
    229     RSA* rp = RSA_new();
    230     public_to_openssl(key, rp);
    231     RSA_public_decrypt(in.len, in.data, out.data, rp, RSA_PKCS1_PADDING);
    232     out.len = RSA_size(rp);
    233     return 0;
    234 }

Comment 2 Fedora Update System 2009-01-15 01:47:42 UTC
boinc-client-6.4.5-2.20081217svn.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/boinc-client-6.4.5-2.20081217svn.fc10

Comment 3 Fedora Update System 2009-01-15 01:55:08 UTC
boinc-client-6.4.5-2.20081217svn.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/boinc-client-6.4.5-2.20081217svn.fc9

Comment 4 Jan Lieskovsky 2009-01-16 14:14:13 UTC
Common Vulnerabilities and Exposures assigned an identifier CVE-2009-0126 to
the following vulnerability:

The decrypt_public function in lib/crypt.cpp in the client in Berkeley
Open Infrastructure for Network Computing (BOINC) 6.2.14 and 6.4.5
does not check the return value from the OpenSSL RSA_public_decrypt
function, which allows remote attackers to bypass validation of the
certificate chain via a malformed SSL/TLS signature, a similar
vulnerability to CVE-2008-5077.

References:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0126
http://openwall.com/lists/oss-security/2009/01/12/4
http://boinc.berkeley.edu/trac/changeset/16883
http://boinc.berkeley.edu/trac/ticket/823
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=511521

Comment 5 Fedora Update System 2009-02-05 02:09:26 UTC
boinc-client-6.4.5-2.20081217svn.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 6 Fedora Update System 2009-02-05 02:17:26 UTC
boinc-client-6.4.5-2.20081217svn.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 7 Milos Jakubicek 2009-02-05 15:17:36 UTC
Closing -- not autoclosed by Bodhi:(