CWE
NVD-CWE-Other
Advisory Published
CVE Published
Updated

CVE-2009-4136

First published: Thu Dec 10 2009(Updated: )

Description of problem: All currently shipped versions of PostgreSQL are vulnerable to a new type of attack pointed out by Gurjeet Singh. The scenario is similar to <a href="https://access.redhat.com/security/cve/CVE-2007-6600">CVE-2007-6600</a> in that an attacker must be an authenticated user so that he can create a table with attached indexes, which reference functions he has created. Subsequent maintenance operations performed by database superusers will then have to execute those functions. In -6600 the threat was simply to acquire the caller's privileges directly. However, another possibility is that the index function can modify session-local state in a way that will subvert later operations in the same session. Examples include changing the search_path so that an attacker-created function will be invoked instead of the intended one, or replacing an existing prepared statement with a new one containing code of the attacker's choosing. There have up to now been only very limited security controls on most session-local state, so it was easy to think of possible attack vectors once the basic issue was recognized. This attack is less dangerous than -6600 since it only succeeds if the calling session does something subvert-able later. In particular it's not clear that there's any major risk for automatic vacuum operations. But superusers who do manual vacuuming or reindexing are clearly at risk. Upstream versions due to be announced Monday 12-14 contain assorted fixes meant to mitigate this scenario.

Credit: secalert@redhat.com

Affected SoftwareAffected VersionHow to fix
PostgreSQL PostgreSQL=7.4.1
PostgreSQL PostgreSQL=7.4.2
PostgreSQL PostgreSQL=7.4.3
PostgreSQL PostgreSQL=7.4.4
PostgreSQL PostgreSQL=7.4.5
PostgreSQL PostgreSQL=7.4.6
PostgreSQL PostgreSQL=7.4.7
PostgreSQL PostgreSQL=7.4.8
PostgreSQL PostgreSQL=7.4.9
PostgreSQL PostgreSQL=7.4.10
PostgreSQL PostgreSQL=7.4.11
PostgreSQL PostgreSQL=7.4.12
PostgreSQL PostgreSQL=7.4.13
PostgreSQL PostgreSQL=7.4.14
PostgreSQL PostgreSQL=7.4.15
PostgreSQL PostgreSQL=7.4.16
PostgreSQL PostgreSQL=7.4.17
PostgreSQL PostgreSQL=7.4.18
PostgreSQL PostgreSQL=7.4.19
PostgreSQL PostgreSQL=7.4.20
PostgreSQL PostgreSQL=7.4.21
PostgreSQL PostgreSQL=7.4.22
PostgreSQL PostgreSQL=7.4.23
PostgreSQL PostgreSQL=7.4.24
PostgreSQL PostgreSQL=7.4.25
PostgreSQL PostgreSQL=7.4.26
PostgreSQL PostgreSQL=8.0.0
PostgreSQL PostgreSQL=8.0.1
PostgreSQL PostgreSQL=8.0.2
PostgreSQL PostgreSQL=8.0.3
PostgreSQL PostgreSQL=8.0.4
PostgreSQL PostgreSQL=8.0.5
PostgreSQL PostgreSQL=8.0.6
PostgreSQL PostgreSQL=8.0.7
PostgreSQL PostgreSQL=8.0.8
PostgreSQL PostgreSQL=8.0.9
PostgreSQL PostgreSQL=8.0.10
PostgreSQL PostgreSQL=8.0.11
PostgreSQL PostgreSQL=8.0.12
PostgreSQL PostgreSQL=8.0.13
PostgreSQL PostgreSQL=8.0.14
PostgreSQL PostgreSQL=8.0.15
PostgreSQL PostgreSQL=8.0.16
PostgreSQL PostgreSQL=8.0.17
PostgreSQL PostgreSQL=8.0.18
PostgreSQL PostgreSQL=8.0.19
PostgreSQL PostgreSQL=8.0.20
PostgreSQL PostgreSQL=8.0.21
PostgreSQL PostgreSQL=8.0.22
PostgreSQL PostgreSQL=8.1.0
PostgreSQL PostgreSQL=8.1.1
PostgreSQL PostgreSQL=8.1.2
PostgreSQL PostgreSQL=8.1.3
PostgreSQL PostgreSQL=8.1.4
PostgreSQL PostgreSQL=8.1.5
PostgreSQL PostgreSQL=8.1.6
PostgreSQL PostgreSQL=8.1.7
PostgreSQL PostgreSQL=8.1.8
PostgreSQL PostgreSQL=8.1.9
PostgreSQL PostgreSQL=8.1.10
PostgreSQL PostgreSQL=8.1.11
PostgreSQL PostgreSQL=8.1.12
PostgreSQL PostgreSQL=8.1.13
PostgreSQL PostgreSQL=8.1.14
PostgreSQL PostgreSQL=8.1.15
PostgreSQL PostgreSQL=8.1.16
PostgreSQL PostgreSQL=8.1.17
PostgreSQL PostgreSQL=8.1.18
PostgreSQL PostgreSQL=8.2
PostgreSQL PostgreSQL=8.2.1
PostgreSQL PostgreSQL=8.2.2
PostgreSQL PostgreSQL=8.2.3
PostgreSQL PostgreSQL=8.2.4
PostgreSQL PostgreSQL=8.2.5
PostgreSQL PostgreSQL=8.2.6
PostgreSQL PostgreSQL=8.2.7
PostgreSQL PostgreSQL=8.2.8
PostgreSQL PostgreSQL=8.2.9
PostgreSQL PostgreSQL=8.2.10
PostgreSQL PostgreSQL=8.2.11
PostgreSQL PostgreSQL=8.2.12
PostgreSQL PostgreSQL=8.2.13
PostgreSQL PostgreSQL=8.2.14
PostgreSQL PostgreSQL=8.3.1
PostgreSQL PostgreSQL=8.3.2
PostgreSQL PostgreSQL=8.3.3
PostgreSQL PostgreSQL=8.3.4
PostgreSQL PostgreSQL=8.3.5
PostgreSQL PostgreSQL=8.3.6
PostgreSQL PostgreSQL=8.3.7
PostgreSQL PostgreSQL=8.3.8
PostgreSQL PostgreSQL=8.4.1

Never miss a vulnerability like this again

Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.

Reference Links

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.
© 2024 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203