Skip to main content

Jawn EUVDEUVD-2026-85551

| CVE-2026-61814 HIGH
Uncontrolled Resource Consumption (CWE-400)
2026-09-23 GitHub_M GHSA-w4cm-gvhj-cgw6
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Reach service that streams untrusted JSON to AsyncParser
  2. Delivery
    Send one large JSON token
  3. Exploit
    Split token across many tiny chunks
  4. Execution
    Each absorb rescans token from start (O(n²))
  5. Impact
    CPU exhausted, service denial of service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

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 Jawn's AsyncParser in incremental/streaming mode and feed it attacker-influenced JSON, AND that the attacker control the chunking/framing of that input (e.g., by controlling TCP segmentation or how bytes are delivered) so that a single JSON token is split across many small chunks. The limiting factors are: the app must use AsyncParser rather than a synchronous parse of a complete buffer; the attacker must be able to influence chunk boundaries, not just content; and impact is availability-only (CPU exhaustion), with no data disclosure or modification. Applications that buffer the full request before parsing, or that use synchronous Jawn parsing, are not affected.

Impact

The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) yields 7.5 (HIGH), driven entirely by an availability impact - this is a pure CPU-exhaustion denial-of-service with no confidentiality or integrity effect. No EPSS score, KEV listing, or SSVC decision data was supplied in the input, and there is no weaponized public exploit flag; therefore exploitation status is 'no public exploit identified at time of analysis,' though the vendor fix commit (cddcd5e) ships demonstrative property tests that feed pathological inputs (100k-char strings, 200k-digit numbers) byte-by-byte, which effectively documents how to trigger the flaw. One signal conflicts with the raw score: the description requires the attacker to control not only the JSON content but also its chunk boundaries/framing, and exploitation only manifests when the application uses AsyncParser in streaming mode - these are real preconditions that AC:L (attack complexity low) arguably understates; I lean toward AC:H (~5.9), so the effective real-world risk is somewhat below the 7.5 headline. This is a genuine but bounded DoS issue rather than a critical priority: impact is availability-only, it is patch-driven (no active-exploitation evidence), and the affected component sits in the niche Scala/JVM ecosystem, so prioritize patching for services that stream/chunk untrusted JSON through Jawn AsyncParser (directly or transitively via circe).

Exploit ScenarioDerived

An application accepts untrusted JSON over a network connection and feeds it incrementally to Jawn's AsyncParser as bytes arrive. A remote unauthenticated attacker sends a single large JSON token (e.g., a very long string or number) split into many tiny chunks, forcing each absorb() call to rescan the incomplete token from the start and producing O(n²) CPU work that exhausts a core and stalls the service. No weaponized public exploit is provided, but the 1.7.0 fix commit includes property tests demonstrating the exact triggering inputs.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.6% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 23, 2026

Denial of service in the Jawn JSON parser for Scala (all artifacts prior to 1.7.0) lets a remote, unauthenticated attacker exhaust CPU by feeding JSON through the streaming AsyncParser in many tiny chunks, forcing repeated rescans of a single incomplete token. Exploitation is bounded by two preconditions: the target must parse attacker-influenced input incrementally via AsyncParser rather than parsing a fully buffered document, and the attacker must be able to influence chunk boundaries so that one token is split across many small reads - hence the assessed CVSS 3.1 vector AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H, an availability-only (HIGH) impact with no confidentiality or integrity effect. No public exploit code and no confirmed active exploitation were identified at time of analysis; the vendor fixed the issue in version 1.7.0.

RemediationAI

Vendor-released patch: upgrade Jawn to 1.7.0 or later (https://github.com/typelevel/jawn/releases/tag/v1.7.0), which introduces the rescanSize guard so absorb no longer rescans a partial token from the start; the full diff is at https://github.com/typelevel/jawn/commit/cddcd5e3387c356b05953f7b2af103d309687e4b and the advisory at https://github.com/typelevel/jawn/security/advisories/GHSA-w4cm-gvhj-cgw6. Where upgrading is not immediately possible, replace AsyncParser with Jawn's synchronous parsing of a complete buffer (for example parseFromString/ChannelParser over a fully read payload) - this removes the incremental rescan path entirely, at the cost of higher per-request memory for large documents. Alternatively, buffer and reassemble the entire request body before invoking AsyncParser so that tokens are not delivered in tiny fragments, or place an upstream cap on request size and per-connection read/chunk rate so that an attacker cannot generate the many-small-chunks pattern; both measures trade memory and latency for CPU safety. Applications that already read the full body before parsing, or that use only synchronous Jawn parsing, are not affected and require no change.

Affected VersionsENISA

jawn-parser_2.13 < 1.7.0
jawn-parser_3 < 1.7.0
jawn < 1.7.0
jawn-parser_2.12 < 1.7.0

Affected Packages

maven org.typelevel:jawn-parser_2.12 fix: 1.7.0
maven org.typelevel:jawn-parser_2.13 fix: 1.7.0
maven org.typelevel:jawn-parser_3 fix: 1.7.0
euvd jawn fix: 1.7.0
euvd jawn_parser_2_12 fix: 1.7.0
euvd jawn_parser_2_13 fix: 1.7.0
euvd jawn_parser_3 fix: 1.7.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 7 packages in maven, euvd

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

Technical ContextAI · show details

Jawn is a high-performance JSON parser written in Scala and published by Typelevel for Scala 2.12, 2.13 and 3 (CPE entries org.typelevel:jawn-parser_2.12, _2.13 and _3, plus the umbrella typelevel:jawn entry). Its AsyncParser class supports incremental parsing in which the caller repeatedly invokes absorb with successive byte chunks. The root cause is class CWE-400 (Uncontrolled Resource Consumption): when a single JSON token - a long string, an escaped string, or a long number - is split across many small absorb calls, each call rescanned the incomplete token from its beginning before determining that more input was needed, yielding quadratic O(n^2) work relative to token length. The upstream fix (commit cddcd5e3387c356b05953f7b2af103d309687e4b, released as v1.7.0) adds a rescanSize counter that records how many bytes were already scanned and discarded mid-token, and short-circuits absorb when fewer than that many additional bytes have arrived, converting the behavior to linear O(n). Regression tests in the same commit feed inputs byte-by-byte (including a 100,000-character string, a 100,000-byte escaped string, and a 200,000-digit number) to verify consistency with the synchronous parser.

Know when Jawn 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 (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 5.9 MEDIUM

Remote unauthenticated CPU-exhaustion DoS, but requires the attacker to control chunk framing and the app to use AsyncParser streaming, so AC:H; availability-only impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Sep 23, 2026 - 20:03 EUVD
CVE Published
Sep 23, 2026 - 18:39 cve.org
HIGH 7.5

DescriptionCVE.org

Jawn is an open source JSON parser. Prior to 1.7.0, Jawn's AsyncParser can perform quadratic work when a single JSON token is delivered across many small chunks because each absorb call rescans the incomplete token from the start. A remote attacker who controls untrusted JSON input and its chunk sizes can exhaust CPU resources and cause denial of service in applications using AsyncParser. This issue is fixed in version 1.7.0.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 88 maven packages depend on org.typelevel:jawn-parser_2.12 (10 direct, 78 indirect)
  • 140 maven packages depend on org.typelevel:jawn-parser_2.13 (8 direct, 132 indirect)
  • 225 maven packages depend on org.typelevel:jawn-parser_3 (9 direct, 216 indirect)

Ecosystem-wide dependent count for version 1.7.0 and other introduced versions.

Technical POC Analysis

Bug class: CWE-400 (Uncontrolled Resource Consumption), with CWE-407 (Inefficient Algorithmic Complexity) as the mechanism.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A denial-of-service flaw in the Jawn JSON parser for Scala (all artifacts before 1.7.0) allows an unauthenticated remote party to consume excessive CPU on any service that streams attacker-influenced JSON through the AsyncParser component. Only systems that parse input incrementally with attacker-controllable chunk boundaries are exposed, but those services can be slowed or stalled, degrading availability for downstream users and dependent business processes. Confidentiality and integrity are unaffected; the risk is operational disruption and potential SLA impact for teams running affected Scala services.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.6%
Top 55% exploitable
Prevalence
Low
core Scala JSON parser (underpins circe) but Scala ecosystem is niche
Threat Intel
1
1 sources
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub

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.6%
Patch available Yes
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
None
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

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

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Module for Package Hub 15 SP7 Fixed
SUSE Linux Enterprise Module for Package Hub 15 SP7 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP6 Affected
openSUSE Leap 15.3 Affected
openSUSE Leap 15.4 Affected

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