CVE-2026-110974 PUBLISHED

Uncontrolled Recursion on Nested JSON Allows Denial of Service in android-json

Assigner: Vaadin
Reserved: 15.10.2026 Published: 22.10.2026 Updated: 22.10.2026

The org.json parser in com.vaadin.external.google:android-json recurses once per nesting level with no depth limit: JSONTokener.nextValue() calls readArray() and readObject(), which call nextValue() again. 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. Any application that parses untrusted JSON with this library can be made to fail the thread doing the parsing. 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.

Product version com.vaadin.external.google:android-json 0.0.20131108.vaadin1

Mitigation No fixed version will be released. Replace the artifact with an org.json implementation that limits the nesting depth, such as org.json:json 20231013 or later.

Artifacts Maven coordinates / Vulnerable versions / Fixed version com.vaadin.external.google:android-json / 0.0.20131108.vaadin1 / none

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
CVSS Score: 6.3

Product Status

Vendor vaadin
Product android-json
Versions Default: unaffected
  • affected from 0 to 0.0.20131108.vaadin1 (incl.)

Workarounds

Exclude com.vaadin.external.google:android-json and depend on an org.json implementation that limits the nesting depth.

Solutions

No fixed version will be released. Replace the artifact with an org.json implementation that limits the nesting depth, such as org.json:json 20231013 or later.

Credits

  • 刘春燕 (Liu Chunyan), Fudan University finder

References

Problem Types

  • CWE-674 Uncontrolled Recursion CWE

Impacts

  • CAPEC-230 Serialized Data with Nested Payloads