Service crash via recursive cyclic-object encoding
Published Jun 14, 2023 · Updated Jan 2, 2025
Stack exhaustion in jjson 0.1.7 and earlier allows attackers to crash a consuming Java service by submitting a crafted object. JSONAnnotationEncoder.encodeMap recursively re-encodes map values without detecting self-references or enforcing a depth limit, exhausting the Java call stack. The application must pass attacker-controlled cyclic or deeply nested object structures to the encoder; successful exploitation interrupts that service process.
Summary
What happened
Stack exhaustion in jjson 0.1.7 and earlier allows attackers to crash a consuming Java service by submitting a crafted object. JSONAnnotationEncoder.encodeMap recursively re-encodes map values without detecting self-references or enforcing a depth limit, exhausting the Java call stack. The application must pass attacker-controlled cyclic or deeply nested object structures to the encoder; successful exploitation interrupts that service process.
The record
- CVE
- CVE-2023-35110
- Published
- Jun 14, 2023
- Updated
- Jan 2, 2025
- Vendor
- Unknown vendor
- Product
- Unknown product
- Classifications
- CWE-787, T1499.004
- Attack vector
- network
- Privileges
- unauthenticated
Timeline
How it unfolded
- Jun 14, 2023CVE publishedPublication date reported by the CVE source.
- Jan 2, 2025Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
What conditions does exploitation require?
What is affected?
Affected products and versions are unavailable in this record.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Public exploit references
- Self-referential Map stack-exhaustion proof of conceptproof of concept · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo