Executive Summary
Summary | |
---|---|
Title | Multiple programming languages fail to escape arguments properly in Microsoft Windows |
Informations | |||
---|---|---|---|
Name | VU#123335 | First vendor Publication | 2024-04-10 |
Vendor | VU-CERT | Last vendor Modification | 2024-05-13 |
Severity (Vendor) | N/A | Revision | M |
Security-Database Scoring CVSS v3
Cvss vector : N/A | |||
---|---|---|---|
Overall CVSS Score | NA | ||
Base Score | NA | Environmental Score | NA |
impact SubScore | NA | Temporal Score | NA |
Exploitabality Sub Score | NA | ||
Calculate full CVSS 3.0 Vectors scores |
Security-Database Scoring CVSS v2
Cvss vector : | |||
---|---|---|---|
Cvss Base Score | N/A | Attack Range | N/A |
Cvss Impact Score | N/A | Attack Complexity | N/A |
Cvss Expoit Score | N/A | Authentication | N/A |
Calculate full CVSS 2.0 Vectors scores |
Detail
OverviewVarious programming languages lack proper validation mechanisms for commands and in some cases also fail to escape arguments correctly when invoking commands within a Microsoft Windows environment. The command injection vulnerability in these programming languages, when running on Windows, allows attackers to execute arbitrary code disguised as arguments to the command. This vulnerability may also affect the application that executes commands without specifying the file extension. DescriptionProgramming languages typically provide a way to execute commands (for e.g., os/exec in Golang) on the operating system to facilitate interaction with the OS. Typically, the programming languages also allow for passing A vulnerability was discovered in the way multiple programming languages fail to properly escape the arguments in a Microsoft Windows command execution environment. This can lead confusion at execution time where an expected argument for a command could be executed as another command itself. An attacker with knowledge of the programming language can carefully craft inputs that will be processed by the compiled program as commands. This unexpected behavior is due to lack of neutralization of arguments by the programming language (or its command execution module) that initiates a Windows execution environment. The researcher has found multiple programming languages, and their command execution modules fail to perform such sanitization and/or validation before processing these in their runtime environment. ImpactSuccessful exploitation of this vulnerability permits an attacker to execute arbitrary commands. The complete impact of this vulnerability depends on the implementation that uses a vulnerable programming language or such a vulnerable module. SolutionUpdating the runtime environmentPlease visit the Vendor Information section so see if your programming language Vendor has released the patch for this vulnerability and update the runtime environment that can prevent abuse of this vulnerability. Update the programs and escape manuallyIf the runtime of your application doesn't provide a patch for this vulnerability and you want to execute batch files with user-controlled arguments, you will need to perform the escaping and neutralization of the data to prevent any intended command execution. Security researcher has more detailed information in the blog post which provides details on specific languages that were identified and their Status. AcknowledgementsThanks to the reporter, RyotaK.This document was written by Timur Snoke. |
Original Source
Url : https://kb.cert.org/vuls/id/123335 |
Alert History
Date | Informations |
---|---|
2024-07-30 21:36:39 |
|
2024-07-30 21:22:12 |
|
2024-06-10 21:36:44 |
|
2024-06-10 21:22:13 |
|
2024-05-14 09:36:12 |
|
2024-05-13 17:22:14 |
|
2024-04-18 17:38:03 |
|
2024-04-18 17:22:52 |
|
2024-04-13 00:36:52 |
|
2024-04-13 00:22:13 |
|
2024-04-11 00:37:15 |
|
2024-04-11 00:22:14 |
|
2024-04-10 21:36:55 |
|
2024-04-10 21:22:13 |
|
2024-04-10 17:36:46 |
|
2024-04-10 17:22:23 |
|