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

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.

INFO

Published Date :

June 17, 2026, 1:20 p.m.

Last Modified :

Oct. 25, 2026, 11:10 p.m.

Remotely Exploit :

Yes !
Affected Products

The following products are affected by CVE-2026-48788 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Remark42 remark42
1 Umputun remark42
CVSS Scores
The Common Vulnerability Scoring System is a standardized framework for assessing the severity of vulnerabilities in software and systems. We collect and displays CVSS scores from various sources for each CVE.
Score Version Severity Vector Exploitability Score Impact Score Source
CVSS 134c704f-9b21-4f2e-91b3-4a467353bcc0
CVSS 3.0 HIGH MITRE-CVE
CVSS 3.0 HIGH [email protected]
Solution
Update Remark42 to version 1.16.0 to fix the XSS vulnerability.
  • Update Remark42 to version 1.16.0 or later.
  • Configure the image proxy to use stricter content validation.
References to Advisories, Solutions, and Tools
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-48788 is associated with the following CWEs:

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-48788 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-48788 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • CVE Translated by [email protected]

    Oct. 25, 2026

    Action Type Old Value New Value
    Added Translation Title: remark42 de umputun, Description: Remark42 es un motor de comentarios autoalojado para blogs, artículos o cualquier otro lugar donde los lectores puedan añadir comentarios. Las versiones 1.6.0 a la 1.15.0 contienen una vulnerabilidad de Cross-Site Scripting (XSS) explotable a través de la suplantación de tipo de contenido. El proxy de imágenes de Remark42 obtiene una URL remota arbitraria y vuelve a servir la respuesta desde el propio origen de Remark42. Durante la fase de descarga, el proxy determina si el recurso es una imagen inspeccionando solo el encabezado Content-Type anunciado por el servidor remoto, sin examinar nunca los bytes reales; durante la fase de servicio, en su lugar, deriva el Content-Type de la respuesta detectando esos bytes con http.DetectContentType. Un atacante puede explotar esta inconsistencia alojando una URL que anuncia Content-Type: image/png mientras devuelve un cuerpo HTML/javascript_disabled: la verificación de descarga lo acepta como una imagen, la ruta de servicio detecta el cuerpo y emite Content-Type: text/html, y el navegador renderiza el HTML/JavaScript controlado por el atacante como un documento dentro del origen de Remark42. La explotación no requiere una cuenta de Remark42 en la instancia objetivo; el atacante solo necesita alojar la URL maliciosa de origen y entregar el enlace del proxy a una víctima por cualquier medio, como correo electrónico, mensaje directo o un enlace en otro sitio web. Este problema ha sido solucionado en la versión 1.16.0.
  • CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0

    Jun. 17, 2026

    Action Type Old Value New Value
    Added Reference https://github.com/umputun/remark42/security/advisories/GHSA-4c8j-mgm4-qqvp
    Added SSVC {'id': 'CVE-2026-48788', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'poc'}, {'automatable': 'no'}, {'technicalImpact': 'partial'}], 'version': '2.0.3', 'timestamp': '2026-06-17T13:19:50.596883Z'}
  • New CVE Received by [email protected]

    Jun. 17, 2026

    Action Type Old Value New Value
    Added Affected [{'vendor': 'umputun', 'product': 'remark42', 'versions': [{'status': 'affected', 'version': '>= 1.6.0, < 1.16.0'}]}]
    Added Description 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.
    Added CVSS V3 AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
    Added CWE CWE-79
    Added CWE CWE-436
    Added Reference https://github.com/umputun/remark42/commit/78d6de6bce1e961f023969da3ec8a00dd80c9ae8
    Added Reference https://github.com/umputun/remark42/releases/tag/v1.16.0
    Added Reference https://github.com/umputun/remark42/security/advisories/GHSA-4c8j-mgm4-qqvp
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.