CVE-2026-48788 json
Remark42: Cross-Site Scripting (XSS) on /api/v1/img via content-type spoofing
published 2026-06-16 4 mo ago modified 2026-10-25 14 d ago also EUVD-2026-37511 , GHSA-4c8j-mgm4-qqvp , GO-2026-5804
- cvss
- 8.2
- version 3.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 23%
- public exploits
- 0
- none known
Summary
Remark42 is a self-hosted comment engine for blogs, articles, or any other place where readers can add comments. Versions 1.6.0 through 1.15.0 contain a Cross-Site Scripting (XSS) vulnerability exploitable through content-type spoofing. The Remark42 image proxy fetches an arbitrary remote URL and re-serves the response from Remark42's own origin. During the download phase, the proxy determines whether the resource is an image by inspecting only the Content-Type header advertised by the remote server, never examining the actual bytes; during the serving phase, it instead derives the response Content-Type by sniffing those bytes with http.DetectContentType. An attacker can exploit this inconsistency by hosting a URL that advertises Content-Type: image/png while returning an HTML/JavaScript body: the download check accepts it as an image, the serving path sniffs the body and emits Content-Type: text/html, and the browser renders the attacker-controlled HTML/JavaScript as a document within Remark42's origin. Exploitation requires no Remark42 account on the target instance; the attacker only needs to host the malicious upstream URL and deliver the proxy link to a victim by any means, such as email, direct message, or a link on another website. This issue has been fixed in version 1.16.0.
Patch / fix
- go github.com/umputun/remark42 1.16.0
- remark42 remark42 1.16.0
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 4 mo ago
Exploit prediction
0.31% chance of exploitation in the next 30 days, higher than 23% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/umputun/remark42/security/advisories/GHSA-4c8j-mgm4-qqvp referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.0 | 8.2 | CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N |
| GitHub | 3.0 | 8.2 | CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/umputun/remark42 | >=1.6.0, <1.16.0 |
1.16.0 |
Affected products
- umputun remark42
Classification
References
-
github.com
/umputun/remark42/commit/78d6de6bce1e961f023969da3ec8a00dd80c9ae8
web, patch
-
github.com
/umputun/remark42/security/advisories/GHSA-4c8j-mgm4-qqvp
exploit, web, advisory
-
github.com
/umputun/remark42/releases/tag/v1.16.0
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-48788
advisory
-
github.com
/umputun/remark42
package
Sources
- CVE List CVE-2026-48788
- GitHub Advisory GHSA-4c8j-mgm4-qqvp
- NVD CVE-2026-48788
- OSV GO-2026-5804
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.