CVE Vulnerabilities

CVE-2022-36944

Deserialization of Untrusted Data

Published: Sep 23, 2022 | Modified: May 27, 2025
CVSS 3.x
9.8
CRITICAL
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
RedHat/V2
RedHat/V3
8.1 IMPORTANT
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Ubuntu
MEDIUM

Scala 2.13.x before 2.13.9 has a Java deserialization chain in its JAR file. On its own, it cannot be exploited. There is only a risk in conjunction with Java object deserialization within an application. In such situations, it allows attackers to erase contents of arbitrary files, make network connections, or possibly run arbitrary code (specifically, Function0 functions) via a gadget chain.

Weakness

The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

Affected Software

Name Vendor Start Version End Version
Scala Scala-lang 2.13.0 (including) 2.13.9 (excluding)
Scala-collection-compat Scala-lang * 2.9.0 (excluding)
Red Hat AMQ Streams 2.4.0 RedHat scala *
Red Hat AMQ Streams 2.5.0 RedHat *
Scala Ubuntu bionic *
Scala Ubuntu focal *
Scala Ubuntu kinetic *
Scala Ubuntu lunar *
Scala Ubuntu mantic *
Scala Ubuntu oracular *
Scala Ubuntu trusty *
Scala Ubuntu upstream *
Scala Ubuntu xenial *

Potential Mitigations

  • Make fields transient to protect them from deserialization.
  • An attempt to serialize and then deserialize a class containing transient fields will result in NULLs where the transient data should be. This is an excellent way to prevent time, environment-based, or sensitive variables from being carried over and used improperly.

References