CVE-2011-4620

HIGH9.3/ 10.0
Share:
Published: December 31, 2011 at 01:55 AM
Modified: April 11, 2025 at 12:51 AM
Source: secalert@redhat.com

Vulnerability Description

Buffer overflow in the ulSetError function in util/ulError.cxx in PLIB 1.8.5, as used in TORCS 1.3.1 and other products, allows user-assisted remote attackers to execute arbitrary code via vectors involving a long error message, as demonstrated by a crafted acc file for TORCS. NOTE: some of these details are obtained from third party information.

CVSS Metrics

Base Score
9.3
Severity
HIGH
Vector String
AV:N/AC:M/Au:N/C:C/I:C/A:C

Weaknesses (CWE)

Source: nvd@nist.gov

AI Security Analysis

01 // Technical Summary

PLIB 1.8.5, used in TORCS 1.3.1 and other applications, is vulnerable to a buffer overflow due to a flaw in the ulSetError function. This vulnerability allows a remote attacker to execute arbitrary code by crafting a malicious error message, potentially leading to complete system compromise.

02 // Vulnerability Mechanism

Step 1: Payload Delivery: The attacker crafts a malicious input file (e.g., an .acc file for TORCS) containing a long error message.

Step 2: Input Processing: The vulnerable application (e.g., TORCS) loads and processes the crafted input file.

Step 3: Error Trigger: During processing, the application calls ulSetError with the attacker-controlled, excessively long error message.

Step 4: Buffer Overflow: The ulSetError function attempts to copy the long error message into a fixed-size buffer without proper bounds checking.

Step 5: Memory Corruption: The long error message overflows the buffer, overwriting adjacent memory on the stack, including potentially the return address.

Step 6: Code Execution: When the function returns, the overwritten return address points to attacker-controlled code (e.g., shellcode), leading to arbitrary code execution and system compromise.

03 // Deep Technical Analysis

The vulnerability lies within the ulSetError function in util/ulError.cxx of PLIB 1.8.5. This function is responsible for handling error messages. The root cause is a buffer overflow vulnerability. The function does not properly validate the size of the input error message before writing it to a fixed-size buffer. Specifically, a long error message, supplied through a crafted input file (e.g., an acc file in the case of TORCS), can overwrite adjacent memory locations on the stack. This overwrite can be leveraged to overwrite critical control data, such as the return address, to redirect program execution to attacker-controlled code, leading to arbitrary code execution. The lack of bounds checking on the input string is the core flaw.

References & Intelligence

http://lists.opensuse.org/opensuse-security-announce/2012-11/msg00013.html
Source: secalert@redhat.com
Third Party Advisory
http://lists.opensuse.org/opensuse-security-announce/2013-01/msg00015.html
Source: secalert@redhat.com
Third Party Advisory
http://openwall.com/lists/oss-security/2011/12/21/2
Source: secalert@redhat.com
http://osvdb.org/77973
Source: secalert@redhat.com
http://secunia.com/advisories/47297
Source: secalert@redhat.com
Third Party AdvisoryVendor Advisory
http://secunia.com/advisories/51340
Source: secalert@redhat.com
Third Party Advisory
http://www.exploit-db.com/exploits/18258/
Source: secalert@redhat.com
ExploitThird Party Advisory
https://security.gentoo.org/glsa/201606-16
Source: secalert@redhat.com
Third Party Advisory
http://lists.opensuse.org/opensuse-security-announce/2012-11/msg00013.html
Source: af854a3a-2127-422b-91ae-364da2661108
Third Party Advisory
http://lists.opensuse.org/opensuse-security-announce/2013-01/msg00015.html
Source: af854a3a-2127-422b-91ae-364da2661108
Third Party Advisory
http://openwall.com/lists/oss-security/2011/12/21/2
Source: af854a3a-2127-422b-91ae-364da2661108
http://osvdb.org/77973
Source: af854a3a-2127-422b-91ae-364da2661108
http://secunia.com/advisories/47297
Source: af854a3a-2127-422b-91ae-364da2661108
Third Party AdvisoryVendor Advisory
http://secunia.com/advisories/51340
Source: af854a3a-2127-422b-91ae-364da2661108
Third Party Advisory
http://www.exploit-db.com/exploits/18258/
Source: af854a3a-2127-422b-91ae-364da2661108
ExploitThird Party Advisory
https://security.gentoo.org/glsa/201606-16
Source: af854a3a-2127-422b-91ae-364da2661108
Third Party Advisory
CVE-2011-4620 - HIGH Severity (9.3) | Free CVE Database | 4nuxd