CVE-1999-0321

HIGH7.2/ 10.0
Share:
Published: December 1, 1998 at 05:00 AM
Modified: April 3, 2025 at 01:03 AM
Source: cve@mitre.org

Vulnerability Description

Buffer overflow in Solaris kcms_configure command allows local users to gain root access.

CVSS Metrics

Base Score
7.2
Severity
HIGH
Vector String
AV:L/AC:L/Au:N/C:C/I:C/A:C

Weaknesses (CWE)

NVD-CWE-Other
Source: nvd@nist.gov

AI Security Analysis

01 // Technical Summary

Solaris systems are vulnerable to a critical buffer overflow in the kcms_configure command, allowing local attackers to escalate privileges to root. This vulnerability, dating back to 1998, presents a significant risk of complete system compromise if unpatched.

02 // Vulnerability Mechanism

Step 1: Trigger the Vulnerability: A local user executes the kcms_configure command with a specially crafted input string as an argument. This input is designed to be larger than the allocated buffer within the command's code.

Step 2: Buffer Overflow: The kcms_configure command attempts to copy the oversized input string into the fixed-size buffer. Due to the lack of bounds checking, the copy operation overflows the buffer, overwriting adjacent memory locations.

Step 3: Overwrite Critical Data: The overflow overwrites critical data on the stack, including the return address. The return address is the memory location where the program should resume execution after the current function completes.

Step 4: Execute Malicious Code: The attacker crafts the input string to overwrite the return address with the address of their injected shellcode. When the kcms_configure command attempts to return, it jumps to the attacker's shellcode.

Step 5: Privilege Escalation: The shellcode executes with the privileges of the kcms_configure command, which typically runs with root privileges. The shellcode then grants the attacker root access, allowing them to execute arbitrary commands with elevated privileges.

03 // Deep Technical Analysis

The vulnerability lies within the kcms_configure command's handling of user-supplied input. Specifically, the command fails to properly validate the size of data written to a fixed-size buffer. This leads to a buffer overflow when a specially crafted input string, exceeding the buffer's capacity, overwrites adjacent memory regions. This overwrite can corrupt critical program data, including the return address on the stack. By carefully crafting the input, an attacker can overwrite the return address with the address of malicious code (shellcode), effectively hijacking the program's execution flow and gaining root privileges. The root cause is a lack of bounds checking on input parameters used in memory allocation or data copying operations within the kcms_configure command.

CVE-1999-0321 - HIGH Severity (7.2) | Free CVE Database | 4nuxd