Skip to main content

libwebsockets EUVDEUVD-2026-98808

| CVE-2026-95114 HIGH
Out-of-bounds Read (CWE-125)
2026-10-13 mitre GHSA-cf7h-w57m-f768
7.5
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

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

  1. Access
    Send crafted deeply-nested JSON to service
  2. Exploit
    Overflow LEJP path/stack index past array bounds
  3. Impact
    Trigger out-of-bounds read and crash (denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

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

Exploitation Conditions

Exploitation requires that the target application use libwebsockets' LEJP incremental JSON parser (lejp_parse) on attacker-controlled input, and that the attacker can supply JSON whose nesting depth or path-element count exceeds the fixed-size ctx->i (path index) and ctx->st (stack) arrays - the vulnerable off-by-one checks (ctx->ipos > vs >= LWS_ARRAY_SIZE, and ++ctx->sp == LWS_ARRAY_SIZE) allow writing/indexing one element past the bounds before the limit is enforced. No authentication or user interaction is needed (PR:N/UI:N). The key limiting factor is deployment-dependent: libwebsockets must actually be parsing untrusted JSON via LEJP on a reachable interface; applications that only parse trusted/local configuration JSON, or that do not expose LEJP to remote input, are not remotely exploitable. Impact is limited to a process crash (availability), not disclosure or code execution.

Impact

The signals are consistent but point to a moderate, availability-only issue rather than a top-tier emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, base 7.5) shows the flaw is remotely reachable with low complexity and no privileges or user interaction, but impact is confined to availability (C:N/I:N) - a classic out-of-bounds-read denial of service (CWE-125), not code execution. SSVC reinforces this: Exploitation=poc (not active), Automatable=yes (the parser bug can be triggered reliably/at scale), and Technical Impact=partial (crash, not full system compromise). A public gist and a filed GitHub issue indicate exploit/proof-of-concept material exists, so this qualifies as 'publicly available exploit code exists' - but there is NO CISA KEV listing and NO EPSS score in the input, so claims of widespread active exploitation cannot be made. One conflict to flag explicitly: the input Tags include 'Information Disclosure' and 'Buffer Overflow', yet the CVSS vector sets C:N and the CWE is an OOB READ (125), not a write/overflow - an OOB read could in principle leak adjacent memory, but NVD rated no confidentiality impact, so treat info-disclosure as unconfirmed and the real, rated consequence as denial of service only. Net: a genuine patch-worthy bug for anyone exposing LEJP to untrusted JSON, but the ceiling is service crash, not RCE.

Exploit ScenarioDerived

An attacker sends a crafted JSON payload with excessive object/array nesting (or an over-long path) to an application that feeds attacker-controlled input into libwebsockets' LEJP incremental parser. The off-by-one bounds checks on ctx->ipos and ctx->sp let the index exceed the fixed-size ctx->i/ctx->st arrays, causing an out-of-bounds read that crashes the process. Proof-of-concept material is referenced in a public gist and the upstream issue, and because the trigger is a single network-delivered message with no authentication, it is easily automatable.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 13, 2026

Out-of-bounds access in libwebsockets' LEJP incremental JSON parser allows unauthenticated remote attackers to crash the process via crafted JSON that exceeds the parser's fixed-size path index or stack arrays. Affected are applications that call lejp_parse on untrusted input; publicly available exploit code exists, though exploitation is deployment-dependent and impact is limited to denial of service (no code execution or data disclosure). The root cause is an off-by-one error in lib/misc/lejp.c, where boundary checks are performed after incrementing the index.

RemediationAI

Apply the upstream fixes by updating libwebsockets to a version that includes commits 736a4a26fce344766bc6618df87bf32193829dd0 and c404a205a98323a7f60e69fae532c5d26bf4a62a (see the GitHub issue https://github.com/warmcat/libwebsockets/issues/3664). Since no tagged release version is specified, verify your dependency version or integrate the patches manually. As a workaround, avoid using the LEJP parser on untrusted JSON input, or enforce a maximum JSON nesting depth and path length at an upstream proxy or validation layer to prevent the arrays from overflowing. Note that limiting nesting depth may reject legitimate deeply nested JSON, so tune thresholds carefully. Disabling LEJP entirely is not always feasible, but if the application does not require incremental JSON parsing, consider using a different parser. No public advisory with a fixed version was found beyond the upstream commits.

Affected VersionsENISA

n/a n/a

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

libwebsockets is a lightweight C library providing WebSocket and HTTP server/client functionality. Its LEJP (Lightweight Embedded JSON Parser) parser processes JSON incrementally, maintaining a path index array (ctx->i) and a stack array (ctx->st) of fixed sizes. The vulnerability is a classic off-by-one error: the code increments the index or stack pointer (ctx->ipos++ or ++ctx->sp) before checking against LWS_ARRAY_SIZE, permitting one element beyond the array boundary to be accessed. The upstream fix (commits 736a4a26 and c404a205) reorders the check to use >= and tests before incrementing. Although classified as CWE-125 (out-of-bounds read), the flaw also involves an out-of-bounds write preceding the read. The CVSS vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) confirms remote, unauthenticated exploitation with high availability impact only; no integrity or confidentiality impact.

Know when the next one hits your stack

  • 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 (mitre) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Remote unauthenticated JSON input triggers the parser with no interaction (AV:N/AC:L/PR:N/UI:N); an OOB read yields only a crash, so C:N/I:N/A:H.

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

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

3
CVSS changed
Oct 13, 2026 - 19:38 NVD
7.5 (None) 7.5 (HIGH)
CVE Published
Oct 13, 2026 - 00:00 cve.org
HIGH 7.5
CVE Published
Oct 13, 2026 - 00:00 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

libwebsockets contains an out-of-bounds read vulnerability in the LEJP incremental parser in lib/misc/lejp.c. This allows a remote attacker to cause a denial of service

Executive ViewAI

Why It Matters

A high-severity out-of-bounds flaw in libwebsockets' LEJP incremental JSON parser (CVE-2026-95114) lets crafted JSON crash any process that parses untrusted input through the library, producing a denial-of-service condition. The exposure is concentrated in internet-facing and embedded products that bundle libwebsockets rather than in systems we deploy directly, so ownership is spread across product, firmware, and third-party supplier teams. No code execution or data disclosure is involved, but sustained crashes of API, authentication, or device-management services can interrupt customer-facing operations and, in embedded contexts, require physical recovery.

Business Impact: Medium
Compensating Controls

No vendor patch available. Interim mitigations: enforce strict inbound JSON payload size and nesting-depth limits at reverse proxies, API gateways, and WAFs; disable or replace the LEJP parser for any untrusted input path in favor of a hardened JSON parser; run JSON parsing in an isolated, resource-capped process with automatic restart so crashes do not cascade; apply rate limiting and per-client connection caps to make repeated triggering impractical; restrict network exposure of affected services; and log and alert on abnormal process termination to detect attempted exploitation.

Threat Intelligence Overview

EPSS Score
0.5%
Top 57% exploitable
Prevalence
Medium
popular embedded C websocket/JSON library, common but not everywhere
Data Quality
6 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 HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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

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