CVE-2022-26477
Published: 27 June 2022
Summary
CVE-2022-26477 is a high-severity Uncontrolled Resource Consumption (CWE-400) vulnerability in Apache Systemds. Its CVSS base score is 7.5 (High).
Operationally, ranked in the top 9.0% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
Deeper analysis
CVE-2022-26477 affects Apache SystemDS, an open-source machine learning system for distributed data processing. The flaw resides in the readExternal method, where a for-loop termination condition is driven by a user-controllable value in a serialized byte stream. An attacker who can supply or modify this stream can force excessive decoder iterations, resulting in CPU exhaustion (CWE-400). The issue carries a CVSS 3.1 score of 7.5 with network attack vector and high availability impact.
An unauthenticated remote attacker can exploit the vulnerability by crafting or tampering with serialized objects passed to SystemDS during deserialization paths such as Spark broadcast, shuffle operations, or sequence-file writes. Successful exploitation produces a denial-of-service condition without requiring authentication or user interaction, although the SystemDS architecture bounds the number of decoders to twice the column count and protects many streams with CRC fingerprints.
The Apache project addressed the weakness by adding explicit upper bounds and additional termination checks to both read and write paths; the fix is included in all releases after 2.2.1. NetApp and Apache mailing-list advisories recommend upgrading and note that the change incurs negligible runtime overhead while improving robustness.
EPSS scores have remained low, with a current value of 0.0611 and a peak of only 0.0700. No public evidence of in-the-wild exploitation has been reported.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2022-0283
Vulnerability details
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…
more
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.
- CWE(s)
Related Threats
No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Limiting concurrent sessions directly prevents uncontrolled resource consumption by capping the number of active sessions per user or account.
Analysis identifies uncontrolled resource consumption indicative of denial-of-service or abuse attempts.
Contingency plan testing includes resource exhaustion scenarios to verify recovery, making it harder for attackers to sustain exploits that cause uncontrolled consumption.
Updated contingency plans include current procedures to detect, contain, and recover from resource exhaustion, limiting an attacker's ability to sustain impact from uncontrolled consumption.
Alternate site allows resumption of operations if resource exhaustion at the primary site is exploited to cause unavailability.
Alternate telecommunications services enable resumption of essential functions when primary services become unavailable due to uncontrolled resource consumption.
The team can analyze and respond to resource exhaustion incidents, reducing the impact of attacks that exploit uncontrolled consumption weaknesses.
Timely maintenance support and spare parts enable rapid recovery from failures induced by uncontrolled resource consumption, shortening the impact window of denial-of-service attacks.