January, the media proxy/embed service of stoatchat (stoatchat/stoatchat), before version 0.15.5 improperly resolves SVG <image href> values as local filesystem paths when a fetched resource is served as image/svg+xml. An unauthenticated remote attacker who causes the service to proxy an attacker-hosted SVG (e.g. via the /proxy endpoint) can determine whether local files exist through observable response-time differences, and can cause supported local image files to be disclosed after re-encoding. Because each referenced file is read in full with no effective limit on the number or total volume of reads, a single request can also generate an unbounded amount of local filesystem I/O and memory pressure (the published proof of concept drives about 4.34 GB of reads), leading to denial of service. The issue is fixed in 0.15.5.
stoatchat before 0.15.5 Local Filesystem Read via SVG
Problem type
Affected products
stoatchat
< 0.15.5 - AFFECTED
0.15.5 - UNAFFECTED
References
https://github.com/stoatchat/stoatchat/security/advisories/GHSA-qv38-hwhv-jm49
https://www.vulncheck.com/advisories/stoatchat-before-0.15.5-local-filesystem-read-via-svg
GitHub Security Advisories
GHSA-4h96-wm2q-h7fw
January, the media proxy/embed service of stoatchat (stoatchat/stoatchat), before version 0.15.5...
https://github.com/advisories/GHSA-4h96-wm2q-h7fwJanuary, the media proxy/embed service of stoatchat (stoatchat/stoatchat), before version 0.15.5 improperly resolves SVG values as local filesystem paths when a fetched resource is served as image/svg+xml. An unauthenticated remote attacker who causes the service to proxy an attacker-hosted SVG (e.g. via the /proxy endpoint) can determine whether local files exist through observable response-time differences, and can cause supported local image files to be disclosed after re-encoding. Because each referenced file is read in full with no effective limit on the number or total volume of reads, a single request can also generate an unbounded amount of local filesystem I/O and memory pressure (the published proof of concept drives about 4.34 GB of reads), leading to denial of service. The issue is fixed in 0.15.5.
https://github.com/stoatchat/stoatchat/security/advisories/GHSA-qv38-hwhv-jm49
https://nvd.nist.gov/vuln/detail/CVE-2026-100676
https://www.vulncheck.com/advisories/stoatchat-before-0.15.5-local-filesystem-read-via-svg
https://github.com/advisories/GHSA-4h96-wm2q-h7fw
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-100676Click to expand
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-100676",
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"dateUpdated": "2026-09-26T13:23:39.014Z",
"dateReserved": "2026-09-26T02:36:51.809Z",
"datePublished": "2026-09-26T13:23:39.014Z",
"state": "PUBLISHED"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck",
"dateUpdated": "2026-09-26T13:23:39.014Z"
},
"datePublic": "2026-09-11T00:00:00.000Z",
"title": "stoatchat before 0.15.5 Local Filesystem Read via SVG",
"descriptions": [
{
"lang": "en",
"value": "January, the media proxy/embed service of stoatchat (stoatchat/stoatchat), before version 0.15.5 improperly resolves SVG <image href> values as local filesystem paths when a fetched resource is served as image/svg+xml. An unauthenticated remote attacker who causes the service to proxy an attacker-hosted SVG (e.g. via the /proxy endpoint) can determine whether local files exist through observable response-time differences, and can cause supported local image files to be disclosed after re-encoding. Because each referenced file is read in full with no effective limit on the number or total volume of reads, a single request can also generate an unbounded amount of local filesystem I/O and memory pressure (the published proof of concept drives about 4.34 GB of reads), leading to denial of service. The issue is fixed in 0.15.5."
}
],
"affected": [
{
"vendor": "stoatchat",
"product": "stoatchat",
"defaultStatus": "unaffected",
"versions": [
{
"version": "0",
"status": "affected",
"versionType": "semver",
"lessThan": "0.15.5"
},
{
"version": "0.15.5",
"status": "unaffected",
"versionType": "semver"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "Protection Mechanism Failure",
"cweId": "CWE-693",
"type": "CWE"
}
]
}
],
"references": [
{
"url": "https://github.com/stoatchat/stoatchat/security/advisories/GHSA-qv38-hwhv-jm49",
"name": "GitHub Security Advisory (GHSA-qv38-hwhv-jm49)",
"tags": [
"vendor-advisory"
]
},
{
"url": "https://www.vulncheck.com/advisories/stoatchat-before-0.15.5-local-filesystem-read-via-svg",
"name": "VulnCheck Advisory: stoatchat before 0.15.5 Local Filesystem Read via SVG",
"tags": [
"third-party-advisory"
]
}
],
"metrics": [
{
"format": "CVSS"
},
{
"format": "CVSS",
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "LOW",
"integrityImpact": "NONE",
"availabilityImpact": "HIGH",
"baseScore": 8.2,
"baseSeverity": "HIGH"
}
}
],
"credits": [
{
"lang": "en",
"value": "QuentinRa",
"type": "reporter"
}
]
}
}
}