Red Hat Bugzilla – Bug 547662
CVE-2009-4034 postgresql: incorrect verification of SSL certificates with NUL in name
Last modified: 2010-02-22 11:33:14 EST
A CVE-2009-2408-like flaw was found in the way PostgreSQL handled CommonNames with embedded NUL character (\0) in SSL certificates. An attacker able to get a specially-crafted certificate signed by the CA trusted by PostgreSQL client or server could use this flaw to perform a MITM attack against the client, or authenticate as different user when client certificate authentication was configured on the server.
Description from the upstream security page:
NULL Bytes in SSL Certificates can be used to falsify client or server
authentication. This only affects users who have SSL enabled, perform
certificate name validation or client certificate authentication, and
where the Certificate Authority (CA) has been tricked into issuing invalid
certificates. The use of a CA that can be trusted to always issue valid
certificates is recommended to ensure you are not vulnerable to this issue.
8.4, 8.3, 8.2, 8.1, 8.0, 7.4
8.4.2, 8.3.9, 8.2.15, 8.1.19, 8.0.23, 7.4.27
While the upstream applied the fix to all currently supported versions, this really only is a security flaw in 8.4 and later versions. Previous versions do not compare connection host name with the certificate CommonName at all. Client certificate authentication was also only introduced in 8.4.
With the patch applied in older versions, a certificate with \0 in CN will cause the client to abort connection even though no other name validation is performed.
We are not treating this as security in pre-8.4 versions. Future postgresql packages updates may, however, contain this fix (e.g. when rebasing to newer upstream point releases).
postgresql-8.3.9-1.fc11 has been submitted as an update for Fedora 11.
postgresql-8.3.9-1.fc11 has been pushed to the Fedora 11 stable repository. If problems still persist, please make note of it in this bug report.
postgresql-8.4.2-1.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report.
Fixed in Fedora, not a security flaw for Red Hat Enterprise Linux 3, 4 and 5 (see comment #1).