{"id":"CVE-2026-35460","summary":"Papra has an HTML Injection in Transactional Emails via Unescaped User Display Name","details":"Papra is a minimalistic document management and archiving platform. Prior to 26.4.0, transactional email templates in Papra interpolate user.name directly into HTML without escaping or sanitization. An attacker who registers with a display name containing HTML tags will have those tags injected into the verification and password reset email bodies. Since emails are sent from the legitimate domain (e.g: auth@mail.papra.app), this enables convincing phishing attacks that appear to originate from official Papra notifications. This vulnerability is fixed in 26.4.0.","aliases":["GHSA-6f8x-2rc9-vgh4"],"modified":"2026-07-15T01:48:53.772822603Z","published":"2026-04-07T14:26:52.943Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-79","CWE-80"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/35xxx/CVE-2026-35460.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/35xxx/CVE-2026-35460.json"},{"type":"ADVISORY","url":"https://github.com/papra-hq/papra/security/advisories/GHSA-6f8x-2rc9-vgh4"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-35460"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/papra-hq/papra","events":[{"introduced":"0"},{"fixed":"b29396a1973ef0d02db00b9e685073d7a9dc6e62"}],"database_specific":{"cpe":"cpe:2.3:a:papra:papra:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"0"},{"fixed":"26.4.0"}],"source":["AFFECTED_FIELD","CPE_RANGE"]}}],"versions":["@papra/search-parser@0.1.1","@papra/lecture@0.5.0","@papra/app@26.3.0","@papra/app@26.2.2","@papra/app@26.2.1","@papra/app@26.2.0","@papra/website@0.0.0","@papra/app@26.1.0","@papra/search-parser-demo@0.0.0","@papra/mobile@1.0.0","@papra/docker@26.0.0","@papra/webhooks@0.3.2","@papra/cli@0.2.2","@papra/api-sdk@1.1.3","@papra/docker@25.12.0","@papra/cli@0.2.1","mobile@1.0.0","@papra/lecture@0.4.0","@papra/docker@25.11.0","@papra/cli@0.2.0","@papra/api-sdk@1.1.2","@papra/webhooks@0.3.1","@papra/lecture@0.3.1","@papra/docker@25.10.2","@papra/cli@0.1.2","@papra/api-sdk@1.1.1","@papra/docker@25.10.1","@papra/docker@25.10.0","@papra/app-server@0.0.0","@papra/app-client@0.0.0","@papra/app-server@0.9.6","@papra/app-client@0.9.6","@papra/app-server@0.9.5","@papra/app-client@0.9.5","@papra/docs@0.6.1","@papra/app-server@0.9.4","@papra/app-client@0.9.4","@papra/app-server@0.9.3","@papra/app-client@0.9.3","@papra/app-server@0.9.2","@papra/app-client@0.9.2","@papra/app-server@0.9.1","@papra/app-client@0.9.1","@papra/webhooks@0.3.0","@papra/lecture@0.2.0","@papra/docs@0.6.0","@papra/cli@0.1.0","@papra/app-server@0.9.0","@papra/app-client@0.9.0","@papra/api-sdk@1.1.0","@papra/app-server@0.8.2","@papra/app-client@0.8.2","@papra/app-server@0.8.1","@papra/app-client@0.8.1","@papra/webhooks@0.2.0","@papra/lecture@0.1.0","@papra/docs@0.5.3","@papra/app-server@0.8.0","@papra/app-client@0.8.0","@papra/app-server@0.7.0","@papra/app-client@0.7.0","@papra/webhooks@0.1.1","@papra/docs@0.5.2","@papra/cli@0.0.2","@papra/app-server@0.6.4","@papra/app-client@0.6.4","@papra/api-sdk@1.0.2","@papra/docs@0.5.1","@papra/app-server@0.6.3","@papra/app-client@0.6.3","@papra/docs@0.5.0","@papra/app-server@0.6.2","@papra/app-client@0.6.2","@papra/docs@0.4.2","@papra/app-server@0.6.1","@papra/app-client@0.6.1","@papra/docs@0.4.1","@papra/app-server@0.6.0","@papra/app-client@0.6.0","@papra/app-server@0.5.1","@papra/app-client@0.5.1","@papra/docs@0.4.0","@papra/app-server@0.5.0","@papra/app-client@0.5.0","@papra/webhooks@0.1.0","@papra/docs@0.3.1","@papra/cli@0.0.1","@papra/app-server@0.4.0","@papra/app-client@0.4.0","@papra/api-sdk@1.0.1","v0.3.0","v0.2.1","v0.2.0","v0.1.2","v0.1.1","v0.1.0","v0.0.1","v0.0.1-beta.2","v0.0.1-beta.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-35460.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"}]}