Read the docs
TI-2022-13063 Aliases CVE-2022-31018GHSA-v8x6-59g4-5g3w

Denial of service binding form from JSON in Play Framework

Priority MEDIUM 42CWE-400Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-400.

Summary

Play Framework is a web framework for Java and Scala. A denial of service vulnerability has been discovered in verions 2.8.3 through 2.8.15 of Play's forms library, in both the Scala and Java APIs. This can occur when using either the `Form#bindFromRequest` method on a JSON request body or the `Form#bind` method directly on a JSON value. If the JSON data being bound to the form contains a deeply-nested JSON object or array, the form binding implementation may consume all available heap space and cause an `OutOfMemoryError`. If executing on the default dispatcher and `akka.jvm-exit-on-fatal-error` is enabled—as it is by default—then this can crash the application process. `Form.bindFromRequest` is vulnerable when using any body parser that produces a type of `AnyContent` or `JsValue` in Scala, or one that can produce a `JsonNode` in Java. This includes Play's default body parser. This vulnerability been patched in version 2.8.16. There is now a global limit on the depth of a JSON object that can be parsed, which can be configured by the user if necessary. As a workaround, applications that do not need to parse a request body of type `application/json` can switch from the default body parser to another body parser that supports only the specific type of body they expect.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.01722 77th percentileScored 2026-11-07
Fix Fixed playframework (playframework): 2.8.16com.typesafe.play:play_2.13 (Maven): 2.8.16+1 more product

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
playframeworkplayframework2.8.3 to before 2.8.162.8.16Patch availableCNA
—com.typesafe.play:play_2.13 (Maven)2.8.3 to before 2.8.162.8.16Patch availableGHSA-v8x6-59g4-5g3w
—com.typesafe.play:play_2.12 (Maven)2.8.3 to before 2.8.162.8.16Patch availableGHSA-v8x6-59g4-5g3w
  • playframework Vendorplayframework Affected 2.8.3 to before 2.8.16 Fixed in 2.8.16 Patch available CNA
  • com.typesafe.play:play_2.13 (Maven) Vendor— Affected 2.8.3 to before 2.8.16 Fixed in 2.8.16 Patch available GHSA-v8x6-59g4-5g3w
  • com.typesafe.play:play_2.12 (Maven) Vendor— Affected 2.8.3 to before 2.8.16 Fixed in 2.8.16 Patch available GHSA-v8x6-59g4-5g3w

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:lightbend:play_framework:*:*:*:*:*:*:*:*2.8.3 – 2.8.15VulnerableLightbend
  • cpe:2.3:a:lightbend:play_framework:*:*:*:*:*:*:*:* Versions 2.8.3 – 2.8.15 Vulnerable ·Lightbend

Remediation

  • Fix · CNA playframework (playframework) Fixed in 2.8.16
  • Fix · GHSA-v8x6-59g4-5g3w com.typesafe.play:play_2.13 (Maven) Fixed in 2.8.16 Advisory →
  • Fix · GHSA-v8x6-59g4-5g3w com.typesafe.play:play_2.12 (Maven) Fixed in 2.8.16 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2022-31018
  2. 2026-10-03 Alias added: GHSA-v8x6-59g4-5g3w

References

  • TI-2014-02951 XML external entity (XXE) vulnerability in the Java XML processing functionality in Play… CVSS 3.0CRITICAL 9.8
  • TI-2015-01932 Netty before 3.9.8.Final, 3.10.x before 3.10.3.Final, 4.0.x before 4.0.28.Final, and… CVSS 3.0HIGH 7.5
  • TI-2022-13068 Dev error stack trace leaking into prod in Play Framework CVSS 3.1HIGH 7.5

Sources