# CVE-2020-36376: aaptjs command injection in list function

Source: https://junglewise.ai/threats/cve-2020-36376-aaptjs-command-injection-in-list-function  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2021-11-02. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2020-36376 · Severity: low · CVSS 3.1 · Published 2021-11-02

aaptjs is a Node.js library used to parse Android application packages (APK files). The library fails to properly sanitize user input in its list function, allowing an attacker to inject arbitrary shell commands that execute with the privileges of the Node.js process. This could lead to complete system compromise, data theft, or denial of service.

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

## Quick answers

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

**How severe is CVE-2020-36376?** Low severity, with a CVSS score of 3.1, published 2 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-36376?** 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-36376 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2020-36376?** 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

aaptjs contains a command injection vulnerability (CWE-77, CWE-78) in the list function. The vulnerability arises from insecure command formatting where user-supplied filePath parameters are passed directly to the shell execution function (exec) without proper validation or escaping. An attacker can pass a malicious filePath containing shell metacharacters to break out of the intended command and execute arbitrary code. The attack requires no authentication and is reachable over the network if the vulnerable aaptjs library is exposed via a web service. Successful exploitation grants the attacker command execution in the context of the Node.js process. All versions up to and including 1.3.1 are affected.

## Affected products

- shenzhim aaptjs 1.3.1 and earlier

## Identifiers

- CVE-2020-36376
- GHSA-4g7x-7vgq-3j28

## Timeline

- 2020-10-02: disclosed: Vulnerability reported on GitHub issue #2
- 2021-10-31: advisory: NVD publication
- 2021-11-02: advisory: GHSA advisory published

## References

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

## 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 arbitrary code execution via filePath parameter](https://junglewise.ai/threats/cve-2020-36381-aaptjs-arbitrary-code-execution-via-filepath-parameter)
- [aaptjs crunch function arbitrary code execution via filePath](https://junglewise.ai/threats/cve-2020-36380-aaptjs-crunch-function-arbitrary-code-execution-via-filepath)
