WaratekVRT Sign in

CVE-2022-26477 SystemDS

Affected softwareSystemDS
Severity7.5 High CVSS 3.1 2 scores
Fixed in2.2.2
WeaknessUncontrolled resource consumption (CWE-400)
Published27 Jun 2022
Updated17 Jun 2026

Description

The Security Team noticed that the termination condition of the for loop in the readExternal method is a controllable variable, which, if tampered with, may lead to CPU exhaustion. As a fix, we added an upper bound and termination condition in the read and write logic. We classify it as a "low-priority but useful improvement". SystemDS is a distributed system and needs to serialize/deserialize data but in many code paths (e.g., on Spark broadcast/shuffle or writing to sequence files) the byte stream is anyway protected by additional CRC fingerprints. In this particular case though, the number of decoders is upper-bounded by twice the number of columns, which means an attacker would need to modify two entries in the byte stream in a consistent manner. By adding these checks robustness was strictly improved with almost zero overhead. These code changes are available in versions higher than 2.2.1.

Exploitation status

No public exploit

No exploit has been reported in the sources we check. Published 4 years ago.

  • CISA KEV not listed
  • VulnCheck KEV not listed
  • CISA Vulnrichment no assessment published
  • Indexed PoC none indexed
  • EPSS 2.3% chance in 30 days

Waratek protection

Protected by Waratek

Waratek has a rule that blocks attacks on this vulnerability.

Decided by A vulnerability class already blocked by an ARMR security rule
Finding Protected by Waratek's ARMR deserialization security rule, which blocks this class of attack at the JVM level without a rule written for this CVE specifically. The CVE's description identifies a deserialization vulnerability. Matched by description (CWE-400 was assigned, but does not settle the class on its own).

How to mitigate CVE-2022-26477

Upgrade SystemDS to 2.2.2 or later. Until you can, Waratek RASP blocks exploitation with its deserialization rule. It runs inside the Java application, with no code changes.

Waratek RASP Runtime protection for Java applications

CVSS

7.5 HIGH v3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 2 metrics

We show the highest score from the newest CVSS version. Scores from different versions can't be compared, and the first score listed is sometimes a 0.0 placeholder.

VersionScoreBandVectorAssignerType
CVSS 3.1 7.5 HIGH CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H NVD Primary published
CVSS 2.0 5.0 none AV:N/AC:L/Au:N/C:N/I:N/A:P NVD Primary

Affected software and releases

Maven packages

Affected and fixed versions, from OSV.dev
PackageIntroducedFixedLast affected
org.apache.systemds:systemds 0 2.2.2 unbounded

Products and versions

2 products, 2 version entries
SourceVendorProductSchemeAffected versions
nvd apache systemds generic ≤ 2.2.1
osv org.apache.systemds systemds generic < 2.2.2

References

URLTags
https://github.com/advisories/GHSA-m43h-hfrq-x8wx ADVISORY
https://github.com/apache/systemds PACKAGE
https://github.com/pypa/advisory-database/tree/main/vulns/systemds/PYSEC-2022-222.yaml WEB
https://lists.apache.org/thread/r4x2d2r6d4zykdrrx6s2l4qbxgzws0z3 WEB
https://security.netapp.com/advisory/ntap-20220812-0003 WEB
https://security.netapp.com/advisory/ntap-20220812-0003/ Third Party Advisory

Timeline

Published2022-06-27By the CVE Program.
NVD record modified2026-06-17NVD's own last-modified date for this record.