Advisory Database
  • Advisories
  • Dependency Scanning
  1. golang
  2. ›
  3. github.com/umputun/remark42
  4. ›
  5. CVE-2026-48788

CVE-2026-48788: Remark42: Cross-Site Scripting (XSS) on /api/v1/img via content-type spoofing

June 26, 2026

The remark42 image proxy fetches an arbitrary remote URL and re-serves the response from remark42’s own origin. The download path decides whether the fetched resource is an image by looking only at the Content-Type header the remote server claims — it never inspects the actual bytes. The serving path then derives the response Content-Type by sniffing those bytes with http.DetectContentType.

An attacker hosts a URL that sets Content-Type to image/png but returns an HTML/JavaScript body:

  • the download check sees image/png → accepts it;
  • the serve path sniffs the body → emits Content-Type: text/html;
  • the browser renders attacker HTML/JS as a document in remark42’s origin.

References

  • github.com/advisories/GHSA-4c8j-mgm4-qqvp
  • github.com/umputun/remark42/commit/78d6de6bce1e961f023969da3ec8a00dd80c9ae8
  • github.com/umputun/remark42/releases/tag/v1.16.0
  • github.com/umputun/remark42/security/advisories/GHSA-4c8j-mgm4-qqvp
  • nvd.nist.gov/vuln/detail/CVE-2026-48788

Code Behaviors & Features

Detect and mitigate CVE-2026-48788 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions starting from 1.6.0 before 1.16.0

Fixed versions

  • 1.16.0

Solution

Upgrade to version 1.16.0 or above.

Impact 8.2 HIGH

CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N

Learn more about CVSS

Weakness

  • CWE-436: Interpretation Conflict
  • CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Source file

go/github.com/umputun/remark42/CVE-2026-48788.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Mon, 13 Jul 2026 12:19:38 +0000.