CVE-2024-37169 (GCVE-0-2024-37169)
Vulnerability from cvelistv5 – Published: 2024-06-10 21:35 – Updated: 2024-08-02 03:50
VLAI?
Title
@jmondi/url-to-png arbitrary file read via Playwright's screenshot feature exploiting file wrapper
Summary
@jmondi/url-to-png is a self-hosted URL to PNG utility. Versions prior to 2.0.3 are vulnerable to arbitrary file read if a threat actor uses the Playright's screenshot feature to exploit the file wrapper. Version 2.0.3 mitigates this issue by requiring input URLs to be of protocol `http` or `https`. No known workarounds are available aside from upgrading.
Severity ?
5.3 (Medium)
CWE
- CWE-22 - Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Assigner
References
5 references
| URL | Tags |
|---|---|
| https://github.com/jasonraimondi/url-to-png/secur… | x_refsource_CONFIRM |
| https://github.com/jasonraimondi/url-to-png/issues/47 | x_refsource_MISC |
| https://github.com/jasonraimondi/url-to-png/commi… | x_refsource_MISC |
| https://github.com/jasonraimondi/url-to-png/relea… | x_refsource_MISC |
| https://github.com/user-attachments/files/1553633… | x_refsource_MISC |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| jasonraimondi | url-to-png |
Affected:
< 2.0.3
|
{
"containers": {
"adp": [
{
"affected": [
{
"cpes": [
"cpe:2.3:a:jasonraimondi:url-to-png:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unknown",
"product": "url-to-png",
"vendor": "jasonraimondi",
"versions": [
{
"lessThan": "2.0.3",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"metrics": [
{
"other": {
"content": {
"id": "CVE-2024-37169",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-06-11T17:56:01.581318Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2024-07-24T15:18:33.030Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
},
{
"providerMetadata": {
"dateUpdated": "2024-08-02T03:50:55.256Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"name": "https://github.com/jasonraimondi/url-to-png/security/advisories/GHSA-665w-mwrr-77q3",
"tags": [
"x_refsource_CONFIRM",
"x_transferred"
],
"url": "https://github.com/jasonraimondi/url-to-png/security/advisories/GHSA-665w-mwrr-77q3"
},
{
"name": "https://github.com/jasonraimondi/url-to-png/issues/47",
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://github.com/jasonraimondi/url-to-png/issues/47"
},
{
"name": "https://github.com/jasonraimondi/url-to-png/commit/9336020c5e603323f5cf4a2ac3bb9a7735cf61f7",
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://github.com/jasonraimondi/url-to-png/commit/9336020c5e603323f5cf4a2ac3bb9a7735cf61f7"
},
{
"name": "https://github.com/jasonraimondi/url-to-png/releases/tag/v2.0.3",
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://github.com/jasonraimondi/url-to-png/releases/tag/v2.0.3"
},
{
"name": "https://github.com/user-attachments/files/15536336/Arbitrary.File.Read.via.Playwright.s.Screenshot.Feature.Exploiting.File.Wrapper.pdf",
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://github.com/user-attachments/files/15536336/Arbitrary.File.Read.via.Playwright.s.Screenshot.Feature.Exploiting.File.Wrapper.pdf"
}
],
"title": "CVE Program Container"
}
],
"cna": {
"affected": [
{
"product": "url-to-png",
"vendor": "jasonraimondi",
"versions": [
{
"status": "affected",
"version": "\u003c 2.0.3"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "@jmondi/url-to-png is a self-hosted URL to PNG utility. Versions prior to 2.0.3 are vulnerable to arbitrary file read if a threat actor uses the Playright\u0027s screenshot feature to exploit the file wrapper. Version 2.0.3 mitigates this issue by requiring input URLs to be of protocol `http` or `https`. No known workarounds are available aside from upgrading."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "LOW",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-22",
"description": "CWE-22: Improper Limitation of a Pathname to a Restricted Directory (\u0027Path Traversal\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2024-06-10T21:35:38.198Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/jasonraimondi/url-to-png/security/advisories/GHSA-665w-mwrr-77q3",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/jasonraimondi/url-to-png/security/advisories/GHSA-665w-mwrr-77q3"
},
{
"name": "https://github.com/jasonraimondi/url-to-png/issues/47",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/jasonraimondi/url-to-png/issues/47"
},
{
"name": "https://github.com/jasonraimondi/url-to-png/commit/9336020c5e603323f5cf4a2ac3bb9a7735cf61f7",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/jasonraimondi/url-to-png/commit/9336020c5e603323f5cf4a2ac3bb9a7735cf61f7"
},
{
"name": "https://github.com/jasonraimondi/url-to-png/releases/tag/v2.0.3",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/jasonraimondi/url-to-png/releases/tag/v2.0.3"
},
{
"name": "https://github.com/user-attachments/files/15536336/Arbitrary.File.Read.via.Playwright.s.Screenshot.Feature.Exploiting.File.Wrapper.pdf",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/user-attachments/files/15536336/Arbitrary.File.Read.via.Playwright.s.Screenshot.Feature.Exploiting.File.Wrapper.pdf"
}
],
"source": {
"advisory": "GHSA-665w-mwrr-77q3",
"discovery": "UNKNOWN"
},
"title": "@jmondi/url-to-png arbitrary file read via Playwright\u0027s screenshot feature exploiting file wrapper"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2024-37169",
"datePublished": "2024-06-10T21:35:38.198Z",
"dateReserved": "2024-06-03T17:29:38.331Z",
"dateUpdated": "2024-08-02T03:50:55.256Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2024-37169",
"date": "2026-05-13",
"epss": "0.00352",
"percentile": "0.57681"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2024-37169\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2024-06-10T22:15:12.663\",\"lastModified\":\"2024-11-21T09:23:21.103\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"@jmondi/url-to-png is a self-hosted URL to PNG utility. Versions prior to 2.0.3 are vulnerable to arbitrary file read if a threat actor uses the Playright\u0027s screenshot feature to exploit the file wrapper. Version 2.0.3 mitigates this issue by requiring input URLs to be of protocol `http` or `https`. No known workarounds are available aside from upgrading.\"},{\"lang\":\"es\",\"value\":\"@jmondi/url-to-png es una utilidad de URL a PNG autohospedada. Las versiones anteriores a la 2.0.3 son vulnerables a la lectura arbitraria de archivos si un actor de amenazas utiliza la funci\u00f3n de captura de pantalla de Playright para explotar el contenedor del archivo. La versi\u00f3n 2.0.3 mitiga este problema al requerir que las URL de entrada sean del protocolo \\\"http\\\" o \\\"https\\\". No hay workarounds disponibles aparte de la actualizaci\u00f3n.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N\",\"baseScore\":5.3,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"LOW\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":3.9,\"impactScore\":1.4}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-22\"}]}],\"references\":[{\"url\":\"https://github.com/jasonraimondi/url-to-png/commit/9336020c5e603323f5cf4a2ac3bb9a7735cf61f7\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/jasonraimondi/url-to-png/issues/47\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/jasonraimondi/url-to-png/releases/tag/v2.0.3\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/jasonraimondi/url-to-png/security/advisories/GHSA-665w-mwrr-77q3\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/user-attachments/files/15536336/Arbitrary.File.Read.via.Playwright.s.Screenshot.Feature.Exploiting.File.Wrapper.pdf\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/jasonraimondi/url-to-png/commit/9336020c5e603323f5cf4a2ac3bb9a7735cf61f7\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://github.com/jasonraimondi/url-to-png/issues/47\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://github.com/jasonraimondi/url-to-png/releases/tag/v2.0.3\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://github.com/jasonraimondi/url-to-png/security/advisories/GHSA-665w-mwrr-77q3\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://github.com/user-attachments/files/15536336/Arbitrary.File.Read.via.Playwright.s.Screenshot.Feature.Exploiting.File.Wrapper.pdf\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"}]}}",
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://github.com/jasonraimondi/url-to-png/security/advisories/GHSA-665w-mwrr-77q3\", \"name\": \"https://github.com/jasonraimondi/url-to-png/security/advisories/GHSA-665w-mwrr-77q3\", \"tags\": [\"x_refsource_CONFIRM\", \"x_transferred\"]}, {\"url\": \"https://github.com/jasonraimondi/url-to-png/issues/47\", \"name\": \"https://github.com/jasonraimondi/url-to-png/issues/47\", \"tags\": [\"x_refsource_MISC\", \"x_transferred\"]}, {\"url\": \"https://github.com/jasonraimondi/url-to-png/commit/9336020c5e603323f5cf4a2ac3bb9a7735cf61f7\", \"name\": \"https://github.com/jasonraimondi/url-to-png/commit/9336020c5e603323f5cf4a2ac3bb9a7735cf61f7\", \"tags\": [\"x_refsource_MISC\", \"x_transferred\"]}, {\"url\": \"https://github.com/jasonraimondi/url-to-png/releases/tag/v2.0.3\", \"name\": \"https://github.com/jasonraimondi/url-to-png/releases/tag/v2.0.3\", \"tags\": [\"x_refsource_MISC\", \"x_transferred\"]}, {\"url\": \"https://github.com/user-attachments/files/15536336/Arbitrary.File.Read.via.Playwright.s.Screenshot.Feature.Exploiting.File.Wrapper.pdf\", \"name\": \"https://github.com/user-attachments/files/15536336/Arbitrary.File.Read.via.Playwright.s.Screenshot.Feature.Exploiting.File.Wrapper.pdf\", \"tags\": [\"x_refsource_MISC\", \"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-02T03:50:55.256Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-37169\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"yes\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-06-11T17:56:01.581318Z\"}}}], \"affected\": [{\"cpes\": [\"cpe:2.3:a:jasonraimondi:url-to-png:*:*:*:*:*:*:*:*\"], \"vendor\": \"jasonraimondi\", \"product\": \"url-to-png\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"2.0.3\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-06-11T17:59:44.716Z\"}}], \"cna\": {\"title\": \"@jmondi/url-to-png arbitrary file read via Playwright\u0027s screenshot feature exploiting file wrapper\", \"source\": {\"advisory\": \"GHSA-665w-mwrr-77q3\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 5.3, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N\", \"integrityImpact\": \"NONE\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"NONE\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"LOW\"}}], \"affected\": [{\"vendor\": \"jasonraimondi\", \"product\": \"url-to-png\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 2.0.3\"}]}], \"references\": [{\"url\": \"https://github.com/jasonraimondi/url-to-png/security/advisories/GHSA-665w-mwrr-77q3\", \"name\": \"https://github.com/jasonraimondi/url-to-png/security/advisories/GHSA-665w-mwrr-77q3\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://github.com/jasonraimondi/url-to-png/issues/47\", \"name\": \"https://github.com/jasonraimondi/url-to-png/issues/47\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/jasonraimondi/url-to-png/commit/9336020c5e603323f5cf4a2ac3bb9a7735cf61f7\", \"name\": \"https://github.com/jasonraimondi/url-to-png/commit/9336020c5e603323f5cf4a2ac3bb9a7735cf61f7\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/jasonraimondi/url-to-png/releases/tag/v2.0.3\", \"name\": \"https://github.com/jasonraimondi/url-to-png/releases/tag/v2.0.3\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/user-attachments/files/15536336/Arbitrary.File.Read.via.Playwright.s.Screenshot.Feature.Exploiting.File.Wrapper.pdf\", \"name\": \"https://github.com/user-attachments/files/15536336/Arbitrary.File.Read.via.Playwright.s.Screenshot.Feature.Exploiting.File.Wrapper.pdf\", \"tags\": [\"x_refsource_MISC\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"@jmondi/url-to-png is a self-hosted URL to PNG utility. Versions prior to 2.0.3 are vulnerable to arbitrary file read if a threat actor uses the Playright\u0027s screenshot feature to exploit the file wrapper. Version 2.0.3 mitigates this issue by requiring input URLs to be of protocol `http` or `https`. No known workarounds are available aside from upgrading.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-22\", \"description\": \"CWE-22: Improper Limitation of a Pathname to a Restricted Directory (\u0027Path Traversal\u0027)\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2024-06-10T21:35:38.198Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2024-37169\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2024-08-02T03:50:55.256Z\", \"dateReserved\": \"2024-06-03T17:29:38.331Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2024-06-10T21:35:38.198Z\", \"assignerShortName\": \"GitHub_M\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…