CVE-2022-35410
High · 7.5CVSS
7.5
EPSS
2.3%
Published
Jul 8, 2022
CISA due date
—
Cloudanix analysis
A bug in a file-cleaning program could let outsiders steal private files from a web server by sending a specially crafted file.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Application
- Class
- Path Traversal
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Directory traversal flaw in ZIP archive processing permits crafted archives containing ../ sequences to read files outside the intended extraction or cleaning directory during metadata removal.
Why it matters to the business
Web-facing instances of the metadata tool may leak sensitive configuration, source, or user files to remote attackers, increasing risk of data exposure on long-running deployments that have not updated in over four years.
How an attack unfolds
An attacker crafts a ZIP archive embedding relative paths that traverse upward, uploads it to a web instance performing mat2 cleaning, and receives the contents of targeted files such as configuration or secrets in the response.
How to fix it
Upgrade jvoisin/mat2 to commit eec5c33a6b1d068d91d9e7a26ae5d4a715fe990b or later and pyload/pyload to commit a9098bdf7406e6faf9df3da6ff2d584e90c13bbb or later; disable web upload features until patched.
How to confirm the fix worked
Confirm deployed version contains the listed commits; attempt upload of a test ZIP containing ../ sequences and verify that traversal is rejected and no external files are returned.
Typical attack path
- Identify publicly reachable mat2 web endpoint or pyload instance accepting archive uploads
- Construct ZIP containing files with ../ traversal sequences pointing to sensitive paths
- Submit the archive through the normal upload/cleaning workflow
- Receive file contents leaked in the processed output or error responses
How to detect it
Review web server access and application logs for ZIP uploads or processing events containing relative path sequences; inspect outbound responses that include unexpected file contents after archive handling.
- ../
- mat2.*zip
- archive.*clean
What your security team should do
- Immediately update all instances to the fixed commits listed in remediation guidance
- Restrict or disable public web upload endpoints for mat2 until patching is complete
- Scan historical logs for archive uploads containing ../ patterns to identify prior access attempts
The record
mat2 (aka metadata anonymisation toolkit) before 0.13.0 allows ../ directory traversal during the ZIP archive cleaning process. This primarily affects mat2 web instances, in which clients could obtain sensitive information via a crafted archive.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| PyPI | mat2 | 0 | 0.13.0 |
| Debian:10 | mat2 | 0 | 0.8.0-3+deb10u1 |
| Debian:11 | mat2 | 0 | 0.12.1-2+deb11u1 |
| Debian:12 | mat2 | 0 | 0.13.0-1 |
| Debian:13 | mat2 | 0 | 0.13.0-1 |
| Ubuntu:20.04:LTS | mat2 | 0 | No fix |
| Ubuntu:22.04:LTS | mat2 | 0 | No fix |
| Ubuntu:24.04:LTS | mat2 | 0 | No fix |
| Ubuntu:24.10 | mat2 | 0 | No fix |
| Ubuntu:25.04 | mat2 | 0 | No fix |
| Ubuntu:25.10 | mat2 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | mat2 | 0 | No fix |
| pypi | mat2 | 0 | No fix |
Related vulnerabilities
- CVE-2026-81163 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')… CWE-22
- CVE-2026-112049 Vita3K before build 4187 contains a path traversal (zip slip) vulnerability in… CWE-22
- CVE-2026-112005 WhoDB 0.104.0 before 0.135.0 contains a path traversal vulnerability that allows remote… CWE-22
- CVE-2026-61702 OpenPrinting CUPS is an open source printing system for Linux and other Unix-like… CWE-22
- CVE-2026-104871 The Angular SSR is a server-rise rendering tool for Angular applications. CWE-22
- CVE-2026-102991 Mako is a template library written in Python. CWE-22
- CVE-2026-101894 The decompress package for Node.js extracts archives. CWE-22
- CVE-2026-100689 GitPython before 3.1.62 does not validate the `path` field read from an untrusted… CWE-22