PatchSiren cyber security CVE debrief
CVE-2026-110974 vaadin CVE debrief
A denial-of-service vulnerability exists in the org.json parser in com.vaadin.external.google:android-json due to uncontrolled recursion on nested JSON, which can cause a StackOverflowError when parsing deeply nested JSON documents. The vulnerability is caused by the recursive nature of JSONTokener.nextValue() calls readArray() and readObject(), which call nextValue() again without a depth limit. This can lead to thread failures in applications that parse untrusted JSON with the affected library. Defenders and developers who work with JSON parsing in applications using the affected com.vaadin.external.google:android-json library should assess exposure and prioritize mitigation.
- Vendor
- vaadin
- Product
- android-json
- CVSS
- MEDIUM 6.3
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-10-22
- Original CVE updated
- 2026-10-30
- Advisory published
- 2026-10-22
- Advisory updated
- 2026-10-30
Who should care
Defenders and developers who work with JSON parsing in applications using the affected com.vaadin.external.google:android-json library should assess exposure and prioritize mitigation.
Why it matters
Defenders should care about CVE-2026-110974 because it allows for denial-of-service attacks through deeply nested JSON documents, potentially causing thread failures in applications that parse untrusted JSON with the affected library. The vulnerability requires verification of affected versions, inventory checks, and prioritized remediation.
- Thread failures due to StackOverflowError
- Potential denial-of-service attacks through deeply nested JSON documents
- Need for verification of affected versions and inventory checks
- Remediation priority for applications parsing untrusted JSON
Technical summary
The org.json parser in com.vaadin.external.google:android-json recurses once per nesting level with no depth limit, causing a StackOverflowError when parsing deeply nested JSON documents. The vulnerability is caused by the recursive nature of JSONTokener.nextValue() calls readArray() and readObject(), which call nextValue() again without a depth limit. This can lead to thread failures in applications that parse untrusted JSON with the affected library. A deeply nested JSON document, around 20 KB of nested arrays with the default thread stack, makes the JSONArray and JSONObject constructors throw a raw java.lang.StackOverflowError instead of a JSONException.
Defensive priority
Defenders should prioritize verifying and mitigating this vulnerability in applications that parse untrusted JSON with this library, as it can cause thread failures.
Recommended defensive actions
- Verify and inventory applications that use the affected com.vaadin.external.google:android-json library.
- Mitigate the vulnerability by replacing the artifact with an org.json implementation that limits the nesting depth, such as org.json:json 20231013 or later.
- Monitor and restrict the parsing of untrusted JSON in applications.
- Review compensating controls for exposed systems while remediation is scheduled and verified.
- Check relevant monitoring, detection, and logs for exposed assets that need extra review.
- Track exceptions, retest remediated assets, and close the item only after evidence is documented.
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up.
Evidence notes
The vulnerability is caused by the recursive nature of JSONTokener.nextValue() calls readArray() and readObject(), which call nextValue() again without a depth limit, leading to a StackOverflowError. The artifact is a 2013 repackage of third-party org.json classes, published once and never maintained, and no fixed version will be released. Users of the affected version should apply the following mitigation. The org.json parser in com.vaadin.external.google:android-json recurses once per nesting level with no depth limit: JSONTokener.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-110974 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-110974
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-110974 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-110974
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Uncontrolled Recursion on Nested JSON Allows Denial of Service in android-json
Unverified legacy reference
URL: https://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/2026/110xxx/CVE-2026-110974.json
cve_program_cvelist_v5
-
Source reference
Unverified legacy reference
URL: https://repo.maven.apache.org/maven2/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/
Supplemental source
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.