Skip to main content

uds-c CVE-2026-37536

| EUVDEUVD-2026-26689 HIGH
Stack-based Buffer Overflow (CWE-121)
2026-05-01 mitre
8.8
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
8.8 HIGH
AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Adjacent
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
Analysis Generated
May 01, 2026 - 17:31 vuln.today
EUVD ID Assigned
May 01, 2026 - 17:00 euvd
EUVD-2026-26689
Analysis Generated
May 01, 2026 - 17:00 vuln.today
CVE Published
May 01, 2026 - 00:00 nvd
HIGH 8.8

DescriptionCVE.org

miaofng/uds-c commit e506334e270d77b20c0bc259ac6c7d8c9b702b7a (2016-10-05) contains a stack buffer overflow in send_diagnostic_request. A 6-byte stack buffer (MAX_DIAGNOSTIC_PAYLOAD_SIZE=6) receives memcpy at offset 1+pid_length with payload_length bytes. MAX_UDS_REQUEST_PAYLOAD_LENGTH=7, so 1+2+7=10 exceeds buffer by 4 bytes. No bounds check on payload_length before memcpy.

AnalysisAI

Stack buffer overflow in miaofng/uds-c library allows adjacent network attackers to execute arbitrary code via crafted diagnostic payload. The send_diagnostic_request function allocates only 6 bytes for MAX_DIAGNOSTIC_PAYLOAD_SIZE but accepts up to 7 bytes of payload (MAX_UDS_REQUEST_PAYLOAD_LENGTH), enabling 4-byte overflow when combined with pid_length=2. Affects commit e506334e270d77b20c0bc259ac6c7d8c9b702b7a from October 2016 and likely later versions unless patched. No CISA KEV listing or EPSS data indicates exploitation remains theoretical; vulnerability appears in automotive diagnostic library with limited deployment exposure.

Technical ContextAI

The vulnerability exists in uds-c, a C implementation of the Unified Diagnostic Services (UDS) protocol used in automotive ECU communication (ISO 14229). The send_diagnostic_request function performs a memcpy operation into a 6-byte stack buffer starting at offset 1+pid_length (typically 1+2=3) for payload_length bytes. With MAX_UDS_REQUEST_PAYLOAD_LENGTH defined as 7, the maximum write is 1+2+7=10 bytes into a 6-byte buffer, creating a 4-byte overflow. The vulnerability stems from missing bounds validation on the payload_length parameter before the memcpy call, a classic CWE-120 (Buffer Copy without Checking Size of Input) pattern. This library appears to be a fork or variant of the OpenXC uds-c implementation, suggesting the vulnerability may exist in related codebases.

RemediationAI

Review the vulnerability analysis at https://gist.github.com/sgInnora/f4ac66faeefe07a653ceeb3f58cdc381 for technical details. Check upstream repositories (miaofng/uds-c and openxc/uds-c) for commits adding bounds validation on payload_length parameter in send_diagnostic_request function; no specific patched version number is confirmed from available data. If using affected commit e506334e270d77b20c0bc259ac6c7d8c9b702b7a or nearby versions, apply source-level patch adding check: if (1 + pid_length + payload_length > MAX_DIAGNOSTIC_PAYLOAD_SIZE) return error before memcpy. For embedded systems where patching is infeasible, implement network-layer mitigations: restrict access to diagnostic interfaces using firewall rules allowing only trusted diagnostic tools, deploy network segmentation isolating vehicle/CAN networks from untrusted adjacent networks, and implement message filtering to reject UDS requests exceeding safe payload sizes at the gateway level. Note that disabling diagnostic services may impact legitimate maintenance and telemetry functions. Systems using this library only on physically isolated test benches face lower risk than production vehicle deployments.

More in N A

View all
CVE-2024-51092 CRITICAL POC
9.1 May 08

LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr

CVE-2025-15684 MEDIUM POC
5.5 Aug 12

Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han

CVE-2024-45257 HIGH POC
7.3 May 08

A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi

CVE-2025-15687 LOW POC
2.1 Aug 12

Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc

CVE-2025-15686 LOW POC
2.1 Aug 12

Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula

CVE-2025-67888 HIGH POC
7.3 May 08

Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root

CVE-2024-53326 HIGH POC
7.3 May 08

LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(

CVE-2026-38360 CRITICAL POC
9.8 May 08

Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti

CVE-2026-30623 CRITICAL POC
9.8 Jul 15

Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr

CVE-2026-67917 CRITICAL POC
9.8 Aug 17

SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg

CVE-2026-75337 CRITICAL POC
9.8 Aug 27

Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ

CVE-2026-31072 CRITICAL POC
9.8 May 19

Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali

Share

CVE-2026-37536 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy