Arbitrary code execution via incorrect package resolution
Published Jun 30, 2023 · Updated Nov 26, 2024
Dependency confusion in pipreqs 0.3.0 through 0.4.11 allows remote attackers to cause arbitrary code execution via a crafted PyPI package. The remote resolver treats an unmatched imported module name as a package name and writes an attacker-controlled namesake package into requirements.txt. Exploitation requires remote resolution of that import and installation of the generated dependency, which executes the package on the installation host.
Summary
What happened
Dependency confusion in pipreqs 0.3.0 through 0.4.11 allows remote attackers to cause arbitrary code execution via a crafted PyPI package. The remote resolver treats an unmatched imported module name as a package name and writes an attacker-controlled namesake package into requirements.txt. Exploitation requires remote resolution of that import and installation of the generated dependency, which executes the package on the installation host.
The record
- CVE
- CVE-2023-31543
- Published
- Jun 30, 2023
- Updated
- Nov 26, 2024
- Vendor
- Unknown vendor
- Product
- Unknown product
- Classifications
- CWE-427, T1195.001
- Attack vector
- network
- Privileges
- unauthenticated
Timeline
How it unfolded
- Jun 30, 2023CVE publishedPublication date reported by the CVE source.
- Nov 26, 2024Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
What conditions does exploitation require?
What is affected?
Affected products and versions are unavailable in this record.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- rest_framework_simplejwt package-injection proof of conceptproof of concept · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo