netopeer2-server logging has format string vulnerability via subtree filter
Impact
Netopeer2 is a server for implementing network configuration management based on the NETCONF Protocol. In affected versions, a low-privileged authenticated NETCONF user can remotely crash netopeer2-server by sending a get RPC with an invalid subtree filter whose text contains format specifiers. In src/netconf.c, np2srv_rpc_get_cb() sends the invalid value through ERR() to np2log_printf(), where vsnprintf() first formats the message safely. In src/log.c, that already formatted buffer is subsequently passed to np2log() as the format string itself, causing vsyslog() to interpret…
Source excerpt · GitHub_MAffected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
CESNET · GitHub_M
netopeer2
1 range
CESNET · GitHub_M
netopeer2
Compare with this publisher’s ranges. This does not inspect your installation.
affected
< 2.8.21
Other versions: unknown
Original source description
Netopeer2 is a server for implementing network configuration management based on the NETCONF Protocol. In affected versions, a low-privileged authenticated NETCONF user can remotely crash netopeer2-server by sending a get RPC with an invalid subtree filter whose text contains format specifiers. In src/netconf.c, np2srv_rpc_get_cb() sends the invalid value through ERR() to np2log_printf(), where vsnprintf() first formats the message safely. In src/log.c, that already formatted buffer is subsequently passed to np2log() as the format string itself, causing vsyslog() to interpret attacker-controlled percent sequences and read invalid pointer arguments. The reported denial of service was confirmed on version 2.8.7 using NETCONF-over-SSH and AddressSanitizer; reliable remote code execution was not confirmed. The advisory identifies 2.8.8 as patched; repository comparisons verify the fix in public release 2.8.21. The affected/fixed boundary remains unresolved because no public 2.8.8 tag was located, which does not establish the status of an untagged 2.8.8 build.
Inside the record
Evidence available
Describes the evidence in this view, not whether the product is safe.
Original records
CVE-2026-63201View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.
cve.new JSON →Underlying weaknesses
The source’s classification of what caused the vulnerability.
Contributing organizations · 1
Assigning organization
What changed
Follow changesLarge field values are marked as truncated previews. Original source snapshots remain retained.