CVE-2026-104847
ProseMirror: XSS vulnerability in prosemirror-view's paste handling
Reported by github_m · Published October 2, 2026
ProseMirror's view component renders and manages the editable browser interface for ProseMirror documents. Prior to 1.42.3, prosemirror-view paste handling accepts attacker-provided HTML whose clipboard slice context contains attributes that are not passed through schema attribute validation. When a user pastes the crafted HTML into an editor, the unvalidated context attributes can construct content that executes attacker-controlled JavaScript in the browser window containing the editor. This issue is fixed in version 1.42.3.
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| gitlab-rails-ce-fips-19.2 | Chainguard | 19.2.8-r2 |
| commercial-gitlab-rails-ee-fips-19.3 | Chainguard | 19.3.3-r1 |
| gitlab-rails-ce-fips-19.1 | Chainguard | 19.1.8-r9 |
| gitlab-rails-ce-fips-18.9 | Chainguard | 18.9.8-r8 |
| gitlab-rails-ce-19.4 | Chainguard | 19.4.3-r2 |
| gitlab-rails-ce-fips-19.0 | Chainguard | 19.0.9-r3 |
| gitlab-rails-ce-19.2 | Chainguard | 19.2.8-r1 |
| commercial-gitlab-rails-ee-fips-19.4 | Chainguard | 19.4.1-r1 |
| commercial-gitlab-rails-ee-19.1 | Chainguard | 19.1.7-r3 |
| gitlab-rails-ce-fips-19.3 | Chainguard | 19.3.3-r8 |
| gitlab-rails-ce-fips-19.4 | Chainguard | 19.4.1-r8 |
| commercial-gitlab-rails-ee-fips-19.1 | Chainguard | 19.1.9-r0 |
2 more packages have a fixed version. See every fix in Lookup.
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| ProseMirror | prosemirror-view | < 1.42.3 |
| chainguard | gitlab-rails-ce-fips-19.2 | 0 |
| chainguard | commercial-gitlab-rails-ee-fips-19.3 | 0 |
| chainguard | gitlab-rails-ce-fips-19.1 | 0 |
| chainguard | gitlab-rails-ce-fips-18.9 | 0 |
| chainguard | gitlab-rails-ce-19.4 | 0 |
| chainguard | gitlab-rails-ce-fips-19.0 | 0 |
| chainguard | gitlab-rails-ce-19.2 | 0 |
| chainguard | commercial-gitlab-rails-ee-fips-19.4 | 0 |
| chainguard | commercial-gitlab-rails-ee-19.1 | 0 |
| chainguard | gitlab-rails-ce-fips-19.3 | 0 |
| chainguard | gitlab-rails-ce-fips-19.4 | 0 |
| chainguard | commercial-gitlab-rails-ee-fips-19.1 | 0 |
| chainguard | commercial-gitlab-rails-ee-19.4 | 0 |
| chainguard | gitlab-rails-ce-fips-18.11 | 0 |
| ProseMirror | prosemirror-view | 0 |
| chainguard | commercial-gitlab-rails-ee-19.2 | 0 |
| chainguard | commercial-gitlab-rails-ee-19.3 | 0 |
| npm | prosemirror-view | 0 |
| chainguard | commercial-gitlab-rails-ee-fips-19.2 | 0 |
…and 2 more
Timeline
- Oct 2, 2026 CVE Published
- Oct 2, 2026 CVE Updated
- Oct 3, 2026 EPSS Score (10 in total, the first dated here)
- Oct 31, 2026 Security Advisory
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln CVE-2026-104847
vulnetix vdb fixes CVE-2026-104847
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/CVE-2026-104847/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart
References
- https://github.com/ProseMirror/prosemirror-view/security/advisories/GHSA-c8x8-7fp4-3x9w x_refsource_CONFIRM
- https://github.com/ProseMirror/prosemirror-view/commit/20dc0a911a79f8fc6640dbbea5e7d68d3c4784b7 x_refsource_MISC
- https://github.com/ProseMirror/prosemirror-view/commit/2e91a612bbc1248e55b4f6061fc93fe459f977c1 x_refsource_MISC
- https://nvd.nist.gov/vuln/detail/CVE-2026-104847 advisory
- https://github.com/advisories/GHSA-c8x8-7fp4-3x9w advisory