Ubuntu 5.04 / 5.10 : postgresql-7.4/-8.0, postgresql, psycopg, (USN-288-1)

Ubuntu Security Notice (C) 2006-2013 Canonical, Inc. / NASL script (C) 2006-2013 Tenable Network Security, Inc.


Synopsis :

The remote Ubuntu host is missing one or more security-related patches.

Description :

CVE-2006-2313: Akio Ishida and Yasuo Ohgaki discovered a weakness in
the handling of invalidly-encoded multibyte text data. If a client
application processed untrusted input without respecting its encoding
and applied standard string escaping techniques (such as replacing a
single quote >>'<< with >>\'<< or >>''<<), the PostgreSQL server could
interpret the resulting string in a way that allowed an attacker to
inject arbitrary SQL commands into the resulting SQL query. The
PostgreSQL server has been modified to reject such invalidly encoded
strings now, which completely fixes the problem for some 'safe'
multibyte encodings like UTF-8.

CVE-2006-2314: However, there are some less popular and client-only
multibyte encodings (such as SJIS, BIG5, GBK, GB18030, and UHC) which
contain valid multibyte characters that end with the byte 0x5c, which
is the representation of the backslash character >>\<< in ASCII. Many
client libraries and applications use the non-standard, but popular
way of escaping the >>'<< character by replacing all occurences of it
with >>\'<<. If a client application uses one of the affected
encodings and does not interpret multibyte characters, and an attacker
supplies a specially crafted byte sequence as an input string
parameter, this escaping method would then produce a validly-encoded
character and an excess >>'<< character which would end the string.
All subsequent characters would then be interpreted as SQL code, so
the attacker could execute arbitrary SQL commands.

To fix this vulnerability end-to-end, client-side applications must be
fixed to properly interpret multibyte encodings and use >>''<< instead
of >>\'<<. However, as a precautionary measure, the sequence >>\'<< is
now regarded as invalid when one of the affected client encodings is
in use. If you depend on the previous behaviour, you can restore it by
setting 'backslash_quote = on' in postgresql.conf. However, please be
aware that this could render you vulnerable again.

This issue does not affect you if you only use single-byte
(like SQL_ASCII or the ISO-8859-X family) or unaffected
multibyte (like UTF-8) encodings.

Please see http://www.postgresql.org/docs/techdocs.50 for further
details.

The psycopg and python-pgsql packages have been updated to
consistently use >>''<< for escaping quotes in strings.

Solution :

Update the affected packages.

Risk factor :

High / CVSS Base Score : 7.5
(CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P)

Family: Ubuntu Local Security Checks

Nessus Plugin ID: 21613 ()

Bugtraq ID:

CVE ID: CVE-2006-2313
CVE-2006-2314