DSA-1911-1 pygresql -- missing escape function

Related Vulnerabilities: CVE-2009-2940  

It was discovered that pygresql, a PostgreSQL module for Python, was missing a function to call PQescapeStringConn(). This is needed, because PQescapeStringConn() honours the charset of the connection and prevents insufficient escaping, when certain multibyte character encodings are used. The new function is called pg_escape_string(), which takes the database connection as a first argument. The old function escape_string() has been preserved as well for backwards compatibility. Developers using these bindings are encouraged to adjust their code to use the new function. For the oldstable distribution (etch), this problem has been fixed in version 1:3.8.1-1etch2. For the stable distribution (lenny), this problem has been fixed in version 1:3.8.1-3+lenny1. For the testing distribution (squeeze) and the unstable distribution (sid), this problem has been fixed in version 1:4.0-1. We recommend that you upgrade your pygresql packages.

Debian Security Advisory

DSA-1911-1 pygresql -- missing escape function

Date Reported:
14 Oct 2009
Affected Packages:
pygresql
Vulnerable:
Yes
Security database references:
In Mitre's CVE dictionary: CVE-2009-2940.
More information:

It was discovered that pygresql, a PostgreSQL module for Python, was missing a function to call PQescapeStringConn(). This is needed, because PQescapeStringConn() honours the charset of the connection and prevents insufficient escaping, when certain multibyte character encodings are used. The new function is called pg_escape_string(), which takes the database connection as a first argument. The old function escape_string() has been preserved as well for backwards compatibility.

Developers using these bindings are encouraged to adjust their code to use the new function.

For the oldstable distribution (etch), this problem has been fixed in version 1:3.8.1-1etch4.

For the stable distribution (lenny), this problem has been fixed in version 1:3.8.1-3+lenny1.

For the testing distribution (squeeze) and the unstable distribution (sid), this problem has been fixed in version 1:4.0-1.

We recommend that you upgrade your pygresql packages.

Fixed in:

Debian GNU/Linux 4.0 (etch)

Source:
http://security.debian.org/pool/updates/main/p/pygresql/pygresql_3.8.1-1etch4.dsc
http://security.debian.org/pool/updates/main/p/pygresql/pygresql_3.8.1-1etch4.diff.gz
Alpha:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-1etch4_alpha.deb
AMD64:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-1etch4_amd64.deb
ARM:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-1etch4_arm.deb
Intel IA-32:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-1etch4_i386.deb
Intel IA-64:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-1etch4_ia64.deb
Big-endian MIPS:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-1etch4_mips.deb
Little-endian MIPS:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-1etch4_mipsel.deb
PowerPC:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-1etch4_powerpc.deb
IBM S/390:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-1etch4_s390.deb
Sun Sparc:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-1etch4_sparc.deb

Debian GNU/Linux 5.0 (lenny)

Source:
http://security.debian.org/pool/updates/main/p/pygresql/pygresql_3.8.1-3+lenny1.diff.gz
http://security.debian.org/pool/updates/main/p/pygresql/pygresql_3.8.1.orig.tar.gz
http://security.debian.org/pool/updates/main/p/pygresql/pygresql_3.8.1-3+lenny1.dsc
Alpha:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-3+lenny1_alpha.deb
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql-dbg_3.8.1-3+lenny1_alpha.deb
AMD64:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql-dbg_3.8.1-3+lenny1_amd64.deb
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-3+lenny1_amd64.deb
ARM:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-3+lenny1_arm.deb
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql-dbg_3.8.1-3+lenny1_arm.deb
ARM EABI:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql-dbg_3.8.1-3+lenny1_armel.deb
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-3+lenny1_armel.deb
HP Precision:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-3+lenny1_hppa.deb
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql-dbg_3.8.1-3+lenny1_hppa.deb
Intel IA-32:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-3+lenny1_i386.deb
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql-dbg_3.8.1-3+lenny1_i386.deb
Intel IA-64:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql-dbg_3.8.1-3+lenny1_ia64.deb
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-3+lenny1_ia64.deb
Big-endian MIPS:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql-dbg_3.8.1-3+lenny1_mips.deb
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-3+lenny1_mips.deb
Little-endian MIPS:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-3+lenny1_mipsel.deb
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql-dbg_3.8.1-3+lenny1_mipsel.deb
PowerPC:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql-dbg_3.8.1-3+lenny1_powerpc.deb
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-3+lenny1_powerpc.deb
IBM S/390:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql-dbg_3.8.1-3+lenny1_s390.deb
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-3+lenny1_s390.deb
Sun Sparc:
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql-dbg_3.8.1-3+lenny1_sparc.deb
http://security.debian.org/pool/updates/main/p/pygresql/python-pygresql_3.8.1-3+lenny1_sparc.deb

MD5 checksums of the listed files are available in the original advisory.