Skip to main content

libyang EUVDEUVD-2026-108129

| CVE-2026-115327 MEDIUM
Access of Uninitialized Pointer (CWE-824)
2026-10-22 VulnCheck GHSA-x4q2-x59g-x339
6.0
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Establish authenticated NETCONF session
  2. Exploit
    Send rpc action envelope with non-whitespace <action> text
  3. Execution
    Trigger uninitialized pointer free in lydxml_envelope parser
  4. Impact
    Crash server or corrupt heap (denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Uninitialized pointer prevention
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an established NETCONF session with the target (PR:L) - the description states 'peers with a NETCONF session' - so exploitation is limited to authenticated/authorized NETCONF peers, not anonymous remote attackers. The specific trigger is a NETCONF rpc 'action' envelope parsed via lyd_parse_op() with LYD_TYPE_RPC_NETCONF where the <action> element contains non-whitespace character data; this reaches the uninitialized/non-NULL pointer free in lydxml_envelope()/lydxml_env_netconf_rpc() in src/parser_xml.c. Affected deployments are products that embed libyang ≤6.4.13 for NETCONF rpc/action parsing (e.g. netopeer2). Limiting factors: the authenticated-session requirement, and that reliability of the outcome (crash vs. exploitable heap corruption) is memory-state dependent and not shown to be attacker-controlled (AC:H/AT:P).

Impact

This is a moderate-priority, authenticated denial-of-service / heap-corruption flaw rather than a drop-everything emergency, and the signals are largely consistent. The vendor CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:L/UI:N) scores it 6.0 with impact confined to availability (VC:N/VI:N/VA:H) - i.e. crash/heap corruption, not confirmed code execution or data disclosure. PR:L confirms the attacker must already hold a valid NETCONF session, which is a meaningful limiter: this is reachable by authenticated/authorized peers, not anonymous internet attackers. AC:H and AT:P indicate the outcome is not fully attacker-controlled - the test case shows the trigger (non-whitespace text in an <action> envelope) is simple, but whether it yields a clean crash or exploitable heap corruption is memory-state dependent and not described as controllable in the sources. No EPSS score and no KEV listing were supplied, and no confirmed active exploitation is indicated; a public PoC/write-up reference exists but is not verified as working weaponized exploit code. The vuln.today decision label is 'this_month' (not act_now/emergency), aligning with a patch-in-normal-cycle posture. Net: a credible DoS against NETCONF servers (e.g. netopeer2) by authenticated peers, worth patching this cycle but not matching the risk profile of an unauthenticated RCE.

Exploit ScenarioDerived

An attacker who already holds a valid NETCONF session against a libyang-backed server (such as netopeer2) sends an rpc action envelope whose <action> element contains non-whitespace text; libyang frees an uninitialized pointer while parsing, crashing the server or corrupting the heap. A public write-up/PoC reference exists (hackmd), and the vendor's regression test reproduces the parse condition, but it is not verified as working weaponized exploit code. Exploitation is network-reachable (AV:N) but requires the authenticated session (PR:L) and the outcome is not reliably attacker-controlled (AC:H/AT:P).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 22, 2026

Authenticated NETCONF peers can crash libyang-based servers such as netopeer2 by sending an rpc <action> envelope containing non-whitespace character data to lyd_parse_op(), causing an uninitialized pointer free in lydxml_env_netconf_rpc() and possible heap corruption. The issue affects libyang through 6.4.13 and is a moderate-priority, authenticated denial-of-service flaw: exploitation requires an established NETCONF session, and whether the result is a reliable crash or heap corruption depends on memory state (AC:H/AT:P). No CISA KEV entry or confirmed working exploit code is described in the supplied data; a public technical writeup is referenced, and a vendor patch commit is available.

RemediationAI

Upstream fix available (commit 927fce908774289a7d9c07fff5704c33965c9773); the supplied data does not name a tagged release containing it, so confirm the patched libyang version from the vendor advisory before upgrading and ensure downstream netopeer2 or other NETCONF servers rebuild against the fixed library. No workaround is documented in the supplied references; because exploitation requires an established NETCONF session, limiting NETCONF access to trusted, authorized peers reduces exposure but does not correct the parser flaw, and operators should weigh that against the operational need for management access. Track the vendor issue at https://github.com/CESNET/libyang/issues/2595 for release information.

Affected VersionsENISA

libyang 0 ≤6.4.13

Affected Packages

euvd libyang no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

libyang is a C library for YANG-modeled data used by NETCONF servers such as netopeer2; NETCONF rpc/action processing enters through lyd_parse_op() with LYD_TYPE_RPC_NETCONF and the XML parser in src/parser_xml.c. In the affected code path, lydxml_env_netconf_rpc()/lydxml_envelope() can reach a free of an uninitialized or not-yet-successfully-set envelope pointer, an access-of-uninitialized-pointer condition (CWE-824) that leads to invalid free, denial of service, and possible heap corruption. The supplied fix commit initializes the local envelope pointer to NULL, assigns it to the output only on success, and frees the temporary pointer; the added test parses '<action>val</action>' and expects LY_EVALID with no returned tree or operation. Affected builds are those embedding libyang through 6.4.13 for NETCONF rpc/action parsing, identified by CPE cpe:2.3:a:cesnet:libyang:*:*:*:*:*:*:*:*.

Know when Libyang gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.0 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

Network-reachable via NETCONF but needs a valid session (PR:L); freeing an uninitialized pointer gives an uncontrolled, memory-state-dependent outcome (AC:H); impact is availability only (A:H, C/I:N).

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Red Hat 5.3 MEDIUM

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

libyang through 6.4.13 contains an uninitialized pointer free vulnerability in lydxml_env_netconf_rpc() in src/parser_xml.c when parsing NETCONF rpc action envelopes. Peers with a NETCONF session can send an action element containing non-whitespace text via lyd_parse_op() to crash servers like netopeer2 or corrupt the heap.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Medium
YANG library embedded in NETCONF/network-management stacks like netopeer2 and FRRouting
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2023-26917 HIGH POC
7.5 Apr 11

libyang from v2.0.164 to v2.1.30 was discovered to contain a NULL pointer dereference via the function lysp_stmt_validat

CVE-2021-28906 HIGH POC
7.5 May 20

In function read_yin_leaf() in libyang <= v1.0.225, it doesn't check whether the value of retval->ext[r] is NULL. Rated

CVE-2021-28905 HIGH POC
7.5 May 20

In function lys_node_free() in libyang <= v1.0.225, it asserts that the value of node->module can't be NULL. Rated high

CVE-2021-28904 HIGH POC
7.5 May 20

In function ext_get_plugin() in libyang <= v1.0.225, it doesn't check whether the value of revision is NULL. Rated high

CVE-2021-28903 HIGH POC
7.5 May 20

A stack overflow in libyang <= v1.0.225 can cause a denial of service through function lyxml_parse_mem(). Rated high sev

CVE-2021-28902 HIGH POC
7.5 May 20

In function read_yin_container() in libyang <= v1.0.225, it doesn't check whether the value of retval->ext[r] is NULL. R

CVE-2019-19334 CRITICAL
9.8 Dec 06

In all versions of libyang before 1.0-r5, a stack-based buffer overflow was discovered in the way libyang parses YANG fi

CVE-2019-19333 CRITICAL
9.8 Dec 06

In all versions of libyang before 1.0-r5, a stack-based buffer overflow was discovered in the way libyang parses YANG fi

CVE-2026-41401 HIGH
7.1 May 26

Heap use-after-free write in libyang before 5.2.6 enables remote authenticated attackers to crash processes or potential

CVE-2023-26916 MEDIUM
5.3 Apr 03

libyang from v2.0.164 to v2.1.30 was discovered to contain a NULL pointer dereference via the function lys_parse_mem at

Vendor StatusVendor

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