# CVE-2020-36380: aaptjs crunch function arbitrary code execution via filePath

Source: https://junglewise.ai/threats/cve-2020-36380-aaptjs-crunch-function-arbitrary-code-execution-via-filepath  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2021-11-01. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2020-36380 · Severity: low · CVSS 3.1 · Published 2021-11-01

aaptjs is a Node.js wrapper for the Android Asset Packaging Tool (aapt), used by developers to process Android app resources. The vulnerability allows attackers to execute arbitrary code on a developer's machine by crafting malicious file path parameters, leading to complete system compromise including data theft, malware installation, and lateral movement to other systems.

Technologies: [aaptjs (npm)](https://junglewise.ai/threats/technologies/aaptjs). Vendors: [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2020-36380 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2020-36380 being exploited in the wild.

**How severe is CVE-2020-36380?** Low severity, with a CVSS score of 3.1, published 1 November 2021.

**Which products and versions are affected?** aaptjs (npm) SEMVER:introduced=0,last_affected=1.3.1.

**Is there a fix for CVE-2020-36380?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

**How is CVE-2020-36380 attacked?** It is attacked over the network.

**Am I affected by CVE-2020-36380?** Check whether you run aaptjs (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability exists in the crunch function of aaptjs version 1.3.1 and earlier, where user-supplied filePath parameters are passed unsafely to a shell exec() call without proper sanitization or escaping (CWE-77, CWE-78). An attacker can inject shell metacharacters or arbitrary commands via the filePath parameter to break out of the intended command context. The attack requires no authentication and is exploitable over the network if the application using aaptjs accepts user input for file paths. A successful exploit results in remote code execution with the privileges of the process running aaptjs, allowing an attacker to achieve complete system compromise.

## Affected products

- shenzhim aaptjs 1.3.1 and earlier

## Identifiers

- CVE-2020-36380
- GHSA-m7p2-ghfh-pjvx

## Timeline

- 2020-10-02: disclosed: Issue reported on GitHub
- 2021-11-01: advisory: GHSA published

## References

- [https://github.com/shenzhim/aaptjs/issues/2](https://github.com/shenzhim/aaptjs/issues/2)

## Related threats

- [aaptjs packageCmd arbitrary code execution via filePath](https://junglewise.ai/threats/cve-2020-36378-aaptjs-packagecmd-arbitrary-code-execution-via-filepath)
- [aaptjs arbitrary code execution in remove function](https://junglewise.ai/threats/cve-2020-36379-aaptjs-arbitrary-code-execution-in-remove-function)
- [aaptjs arbitrary code execution in dump function](https://junglewise.ai/threats/cve-2020-36377-aaptjs-arbitrary-code-execution-in-dump-function)
- [aaptjs command injection in list function](https://junglewise.ai/threats/cve-2020-36376-aaptjs-command-injection-in-list-function)
- [aaptjs arbitrary code execution via filePath parameter](https://junglewise.ai/threats/cve-2020-36381-aaptjs-arbitrary-code-execution-via-filepath-parameter)
