pygresql 3.8.1/4.0 Python PQescapeStringConn Remote Code Execution
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.3 | $0-$5k | 0.00 |
Summary
A vulnerability was found in pygresql 3.8.1/4.0 and classified as critical. The impacted element is the function PQescapeStringConn of the component Python. Executing a manipulation can lead to Remote Code Execution.
This vulnerability is registered as CVE-2009-2940. No exploit is available.
Details
A vulnerability has been found in pygresql 3.8.1/4.0 and classified as critical. This vulnerability affects the function PQescapeStringConn of the component Python. The manipulation with an unknown input leads to a remote code execution vulnerability. As an impact it is known to affect confidentiality, integrity, and availability. CVE summarizes:
The pygresql module 3.8.1 and 4.0 for Python does not properly support the PQescapeStringConn function, which might allow remote attackers to leverage escaping issues involving multibyte character encodings.
The weakness was published 10/14/2009 (Website). The advisory is available at debian.org. This vulnerability was named CVE-2009-2940 since 08/23/2009. The exploitation appears to be easy. The attack can be initiated remotely. No form of authentication is required for a successful exploitation. Technical details are known, but there is no available exploit.
The vulnerability scanner Nessus provides a plugin with the ID 44776 (Debian DSA-1911-1 : pygresql - missing escape function), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Debian Local Security Checks. The commercial vulnerability scanner Qualys is able to test this issue with plugin 195012 (Ubuntu Security Notification for Pygresql Vulnerability (USN-870-1)).
There is no information about possible countermeasures known. It may be suggested to replace the affected object with an alternative product.
The vulnerability is also documented in the databases at Tenable (44776), OSVDB (59028†), Secunia (SA37046†) and Vulnerability Center (SBV-24373†). If you want to get best quality of vulnerability data, you may have to visit VulDB.
Product
Name
Version
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 7.3VulDB Meta Temp Score: 7.3
VulDB Base Score: 7.3
VulDB Temp Score: 7.3
VulDB Vector: 🔍
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Remote Code ExecutionCWE: Unknown
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 44776
Nessus Name: Debian DSA-1911-1 : pygresql - missing escape function
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Port: 🔍
OpenVAS ID: 66055
OpenVAS Name: Debian Security Advisory DSA 1911-1 (pygresql)
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: no mitigation knownStatus: 🔍
0-Day Time: 🔍
Timeline
08/23/2009 🔍10/14/2009 🔍
10/15/2009 🔍
10/15/2009 🔍
10/20/2009 🔍
10/22/2009 🔍
12/15/2009 🔍
02/24/2010 🔍
03/18/2015 🔍
03/25/2025 🔍
Sources
Advisory: debian.orgStatus: Not defined
CVE: CVE-2009-2940 (🔍)
GCVE (CVE): GCVE-0-2009-2940
GCVE (VulDB): GCVE-100-50530
OVAL: 🔍
Secunia: 37046 - Debian update for pygresql, Not Critical
OSVDB: 59028 - pygresql for Python PQescapeStringConn() Function Character Escaping Weakness
Vulnerability Center: 24373 - Python pygresql Module 3.8.1 and 4.0 Remote SQL Injection Vulnerability via Character Encodings, High
Entry
Created: 03/18/2015 15:15Updated: 03/25/2025 23:03
Changes: 03/18/2015 15:15 (57), 02/18/2017 09:32 (11), 08/24/2021 09:51 (3), 03/25/2025 23:03 (17)
Complete: 🔍
Cache ID: 216:EFE:103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
No comments yet. Languages: en.
Please log in to comment.