CVE-2010-1169: Code Injection
A flaw was found in the way the PostgreSQL enforced permission checks on scripts written in PL/Perl. Once the PL/Perl procedural language was registered on particular database, a remote, authenticated user, privileged to create databases, running a specially-crafted PL/Perl script, could use this flaw to bypass intended PL/Perl trusted mode restrictions, allowing them to run arbitrary Perl scripts with the privileges of the database server.
References: [1] PostgreSQL PL/Perl procedural language manual page: http://www.postgresql.org/docs/8.1/interactive/plperl.html [2] PostgreSQL Trusted and Untrusted PL/Perl mode manual page: http://www.postgresql.org/docs/8.1/interactive/plperl-trusted.html
Acknowledgements:
Red Hat would like to thank Tim Bunce for responsibly reporting this issue.
Other sources
PostgreSQL 7.4 before 7.4.29, 8.0 before 8.0.25, 8.1 before 8.1.21, 8.2 before 8.2.17, 8.3 before 8.3.11, 8.4 before 8.4.4, and 9.0 Beta before 9.0 Beta 2 does not properly restrict PL/perl procedures, which allows remote authenticated users, with database-creation privileges, to execute arbitrary Perl code via a crafted script, related to the Safe module (aka Safe.pm) for Perl. NOTE: some sources report that this issue is the same as CVE-2010-1447.
— Red Hat
Affected Software
Remediation
Patch Available
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is the severity of CVE-2010-1169?
CVE-2010-1169 is classified as a medium severity vulnerability.
How do I fix CVE-2010-1169?
The fix for CVE-2010-1169 involves upgrading PostgreSQL to the latest version that is not affected, such as 7.4.29 or later versions.
What are the affected versions of PostgreSQL for CVE-2010-1169?
Affected versions of PostgreSQL for CVE-2010-1169 include 7.4 before 7.4.29, 8.0 before 8.0.25, and several others up to 9.0 Beta before 9.0 Beta 2.
Who is impacted by CVE-2010-1169?
Remote authenticated users with database creation privileges are impacted by CVE-2010-1169.
What type of vulnerability is CVE-2010-1169?
CVE-2010-1169 is a code execution vulnerability that arises from improper restrictions on PL/perl procedures.