CVE-2021-3156

Published Jan 26, 2021

Last updated 4 months ago

Overview

Description
Sudo before 1.9.5p2 contains an off-by-one error that can result in a heap-based buffer overflow, which allows privilege escalation to root via "sudoedit -s" and a command-line argument that ends with a single backslash character.
Source
cve@mitre.org
NVD status
Analyzed
Products
sudo, fedora, debian_linux, active_iq_unified_manager, cloud_backup, hci_management_node, oncommand_unified_manager_core_package, ontap_select_deploy_administration_utility, ontap_tools, solidfire, web_gateway, diskstation_manager_unified_controller, diskstation_manager, skynas_firmware, vs960hd_firmware, privilege_management_for_mac, privilege_management_for_unix\/linux, micros_compact_workstation_3_firmware, micros_es400_firmware, micros_kitchen_display_system_firmware, micros_workstation_5a_firmware, micros_workstation_6_firmware, communications_performance_intelligence_center, tekelec_platform_distribution

Risk scores

CVSS 3.1

Type
Primary
Base score
7.8
Impact score
5.9
Exploitability score
1.8
Vector string
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Severity
HIGH

CVSS 2.0

Type
Primary
Base score
7.2
Impact score
10
Exploitability score
3.9
Vector string
AV:L/AC:L/Au:N/C:C/I:C/A:C

Known exploits

Data from CISA

Vulnerability name
Sudo Heap-Based Buffer Overflow Vulnerability
Exploit added on
Apr 6, 2022
Exploit action due
Apr 27, 2022
Required action
Apply updates per vendor instructions.

Weaknesses

nvd@nist.gov
CWE-193
134c704f-9b21-4f2e-91b3-4a467353bcc0
CWE-193

Social media

Hype score
Not currently trending

Configurations

  1. Fast DDS is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object Management Group ). ParticipantGenericMessage is the DDS Security control-message container that carries not only the handshake but also on going security-control traffic after the handshake, such as crypto-token exchange, rekeying, re-authentication, and token delivery for newly appearing endpoints. On receive, the CDR parser is invoked first and deserializes the `message_data` (i .e., the `DataHolderSeq`) via the `readParticipantGenericMessage → readDataHolderSeq` path. The `DataHolderSeq` is parsed sequentially: a sequence count (`uint32`), and for each DataHolder the `class_id` string (e.g. `DDS:Auth:PKI-DH:1.0+Req`), string properties (a sequence of key/value pairs), and binary properties (a name plus an octet-vector). The parser operat es at a stateless level and does not know higher-layer state (for example, whether the handshake has already completed), s o it fully unfolds the structure before distinguishing legitimate from malformed traffic. Because RTPS permits duplicates, delays, and retransmissions, a receiver must perform at least minimal structural parsing to check identity and sequence n umbers before discarding or processing a message; the current implementation, however, does not "peek" only at a minimal header and instead parses the entire `DataHolderSeq`. As a result, prior to versions 3.4.1, 3.3.1, and 2.6.11, this parsi ng behavior can trigger an out-of-memory condition and remotely terminate the process. Versions 3.4.1, 3.3.1, and 2.6.11 p atch the issue.CVE-2025-62603

References

Sources include official advisories and independent security research.