CVE-2026-43233: netfilter: nf_conntrack_h323: fix OOB read in decode_choice()
In the Linux kernel, the following vulnerability has been resolved:
netfilter: nf_conntrack_h323: fix OOB read in decode_choice()
In decode_choice(), the boundary check before get_len() uses the
variable `len`, which is still 0 from its initialization at the top of
the function:
unsigned int type, ext, len = 0;
...
if (ext || (son->attr & OPEN)) {
BYTE_ALIGN(bs);
if (nf_h323_error_boundary(bs, len, 0)) /* len is 0 here */
return H323_ERROR_BOUND;
len = get_len(bs); /* OOB read */
When the bitstream is exactly consumed (bs->cur == bs->end), the check
nf_h323_error_boundary(bs, 0, 0) evaluates to (bs->cur + 0 > bs->end),
which is false. The subsequent get_len() call then dereferences
*bs->cur++, reading 1 byte past the end of the buffer. If that byte
has bit 7 set, get_len() reads a second byte as well.
This can be triggered remotely by sending a crafted Q.931 SETUP message
with a User-User Information Element containing exactly 2 bytes of
PER-encoded data ({0x08, 0x00}) to port 1720 through a firewall with
the nf_conntrack_h323 helper active. The decoder fully consumes the
PER buffer before reaching this code path, resulting in a 1-2 byte
heap-buffer-overflow read confirmed by AddressSanitizer.
Fix this by checking for 2 bytes (the maximum that get_len() may read)
instead of the uninitialized `len`. This matches the pattern used at
every other get_len() call site in the same file, where the caller
checks for 2 bytes of available data before calling get_len().
Security readout for executives and security teams
Plain-English summary
A remote attacker may disrupt a Linux firewall or gateway when its H.323 connection-tracking helper processes malformed traffic. The flaw reads up to two bytes beyond a buffer boundary and may cause a kernel crash. Exposure requires the nf_conntrack_h323 helper to be active and relevant H.323 traffic to reach the system.
Executive priority
Treat this as a high-priority infrastructure update for exposed H.323 firewalls and gateways. Prioritize systems processing untrusted port 1720 traffic, while validating configuration before declaring broad exposure. The evidence supports serious disruption risk but not active exploitation or demonstrated code execution.
Technical view
decode_choice() checks remaining buffer space using a zero-initialized length. At the exact buffer end, the check passes and get_len() performs a one- or two-byte heap out-of-bounds read. The supplied record confirms remote triggering and AddressSanitizer reproduction. It supports availability and limited confidentiality impact, but provides no evidence of code execution or data modification.
Likely exposure
Likely exposure is concentrated in affected Linux firewalls or gateways using the nf_conntrack_h323 helper and processing untrusted H.323 traffic on port 1720. The supplied evidence does not establish exposure for systems where that helper or traffic path is absent. Distribution-specific package mappings are not provided.
Exploitation context
The source describes a remotely triggerable, unauthenticated condition and confirms the out-of-bounds read with AddressSanitizer. CVSS 3.1 is 8.2. The CVE is not identified as CISA KEV, and the supplied sources provide no evidence of active exploitation or a weaponized public exploit.
Researcher notes
The faulty boundary check permits get_len() to read beyond an exactly consumed PER buffer. The record identifies a one- or two-byte heap over-read. Supplied affected-version data lacks CPEs and distribution package mappings, so validate exposure through helper configuration, traffic reachability, vendor advisories, and stable-commit inclusion rather than version strings alone.
Mitigation direction
Apply a vendor-supported kernel update containing the upstream decode_choice() boundary-check fix.
Confirm the selected kernel package includes the applicable referenced stable-kernel commit.
Follow distribution guidance for package selection, reboot requirements, and any interim controls; no tested workaround is supplied.
Validation and detection
Inventory Linux firewalls and gateways where the nf_conntrack_h323 helper is active.
Determine whether untrusted H.323 traffic can reach port 1720 through those systems.
Compare kernel package changelogs with vendor confirmation of the referenced upstream fix.
After updating, confirm the corrected kernel is running and required H.323 traffic remains functional.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-43233 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
9Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.