XSS in Cryptpad

CVE-2026-26028

CryptPad is an end-to-end encrypted collaborative office suite. In versions prior to 2026.2.0, the HTML sanitizer in Diffmarked.js can be bypassed due to incomplete attribute filtering on restricted tags. The sanitizer validates only the src attribute of <iframe>, <video>, and <audio> elements, leaving all other attributes unchecked. As a result, an attacker can inject arbitrary HTML through srcdoc, completely defeating CryptPad's intended bounce sandboxing and enabling link injection or other interactive content within user-controlled documents. The root cause lies in how the sanitizer classifies and enforces tag restrictions: although it defines both forbidden and restricted tag lists, <iframe> is treated as "restricted" rather than "forbidden." Enforcement then inspects only the src attribute, so pairing a benign blob: src with a malicious srcdoc results in unrestricted rendering. This issue has been fixed in version 2026.2.0.

Vulnerability class: XSS (Cross-Site Scripting)

Published · last modified .

CVSS v3 metric

CVSS v3 base score 6.1 (Medium). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N.

EPSS exploit prediction

EPSS: 0.003 (19.0th percentile), scored .

Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 19th percentile — 19.0% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2026-26028: held from 0.002 to 0.003.

EPSS over last 30 days · oldest: 0.002 · newest: 0.003 · change: +0.000

Affected products

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2026-26028?
CVE-2026-26028 is a medium-severity vulnerability in Cryptpad, classified under Cross-site Scripting. CVSS score: 6.1/10. Published 2026-05-20.
How severe is CVE-2026-26028?
Medium severity. CVSS v3 base score is 6.1 out of 10.