CVE-2026-62381: luci-lib-px5g 2040-bit Certificate Signing Heap Buffer Overflow
luci-lib-px5g (LuCI) contains a heap-based buffer overflow in the native ASN.1 encoding routine asn1addobj (x509write.c) when signing a certificate with a 2040-bit RSA key. For a 255-byte signature, the BIT STRING allocation is computed from the DER length encoding of 255 bytes, but the payload written after prepending the unused-bits byte is 256 bytes, requiring one additional DER length octet. As a result the allocation is 259 bytes while the tag, length, unused-bits byte, and signature require 260 bytes, and the final memcpy writes one byte beyond the heap buffer. The overflow is reachable through the exported Lua interface via createselfsigned(); whether it is remotely exploitable depends on the embedding application. The vulnerable code is present on the openwrt-18.06 through openwrt-25.12 release branches and is absent from master, where the luci-lib-px5g package has been removed rather than patched.
Affected Software
Event History
Frequently Asked Questions
Which deployments are exposed to remote attack?
The vulnerable function is reachable through the exported Lua create_selfsigned() interface. Remote exploitability depends on whether the application embedding LuCI exposes a path that lets an attacker trigger certificate creation through that interface.
What is required to trigger the overflow?
An attacker or local user must be able to cause signing of a certificate with a 2040-bit RSA key, producing a 255-byte signature. The attack vector is local in the supplied severity vector, and low privileges are required.
Which release branches contain the vulnerable code?
The vulnerable code is present on the openwrt-18.06 through openwrt-25.12 release branches. It is absent from master because the luci-lib-px5g package was removed rather than patched.
What can be done if an update is not immediately available?
Prevent untrusted users from reaching Lua code paths that invoke create_selfsigned(), particularly paths that can request creation or signing with 2040-bit RSA keys. Remote exposure should be assessed based on how the embedding application exposes that Lua interface.