LiveActive security incident?Get immediate response
CVE Record

CVE-2022-31018: Denial of service binding form from JSON in Play Framework

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.

HighCVSS 7.5Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

Affected Play Framework apps can run out of memory when they bind deeply nested JSON into forms. For internet-facing apps, a single unauthenticated request can potentially crash the process, disrupting availability. The vendor patched this in Play 2.8.16 by adding a configurable JSON depth limit.

Executive priority

Treat as high priority for externally reachable Play applications because the issue can take services offline. Prioritize internet-facing and business-critical apps, then internal services using affected versions.

Technical view

CVE-2022-31018 affects Play Framework 2.8.3 through 2.8.15 forms APIs. Form#bindFromRequest on JSON request bodies and Form#bind on JSON values can exhaust heap during form binding. If running on the default dispatcher with akka.jvm-exit-on-fatal-error enabled, the application process may crash.

Likely exposure

Exposure is most likely in Play Framework services using versions 2.8.3 to before 2.8.16, especially routes binding JSON request bodies to forms through default or JSON-capable body parsers.

Exploitation context

The CVSS vector indicates network access, low complexity, no privileges, and no user interaction. The supplied sources and KEV flag do not show active exploitation. Impact is availability loss, not confidentiality or integrity compromise.

Researcher notes

This is CWE-400 uncontrolled resource consumption in form binding, not JSON parsing generally. The documented vulnerable paths involve Play forms APIs with JSON bodies or values. Evidence supports availability impact only.

Mitigation direction

  • Upgrade Play Framework to version 2.8.16 or later.
  • Keep or tune the new global JSON depth limit if required.
  • Use a narrower body parser when JSON request bodies are unnecessary.
  • Review vendor advisory and release notes before rollout.

Validation and detection

  • Confirm Play Framework version in build files or SBOM.
  • Identify controllers using Form#bindFromRequest with JSON-capable body parsers.
  • Identify direct Form#bind usage on JSON values.
  • Check runtime logs for unexplained OutOfMemoryError or process crashes.
  • Verify production runs Play 2.8.16+ or approved workaround.
Prepared
Confidence
high
Sources
5

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-400: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2022-31018 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.5 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
4Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
7.5CVSS 3.1HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H3.93.6Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

7.5High
CVSS 3.1 vector shape for CVE-2022-31018Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
playframeworkplayframework>= 2.8.3, < 2.8.16Listed
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-400 · source CWE mapping

Uncontrolled Resource Consumption

Uncontrolled Resource Consumption represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.