Drupal Diff Module: CVE-2026-73478 Exposes Revision Data

Step by step
How the attack unfolded
Click a phase for details – or let the animation play through.
PHASE 1/4 · Reconnaissance & Access

A user holding only view permission accesses a revisionable non-node entity through the public-facing Drupal site.

T1190 – Exploit Public-Facing Application
  • Prerequisite: role with 'view' permission for the entity – advisory states authentication is not required (even anonymous role possible)
  • Affected: contrib module Diff, not Drupal Core
  • Vulnerable versions: <2.0.1 and 2.1.0 up to before 2.1.1
  • 74,661 websites report using Diff (usage metric only, not confirmed victims)
PHASE 2/4 · Vulnerability Exploitation

The module-generated Diff route is called to view revision comparisons despite only the weak view permission being present.

T1190 – Exploit Public-Facing Application
  • CVE-2026-73478, SA-CONTRIB-2026-096, rated: moderately critical (13/25)
  • Root cause: Diff route in 2.0.0 and 2.1.0 only checked 'view' permission instead of 'view all revisions'
  • Quote Drupal Security Team: 'The module doesn't sufficiently restrict access to non-node entity revision diffs.'
  • Version 2.1.0 (2026-06-10) first added support for all entity types, in whose context the flaw surfaced
PHASE 3/4 · Information Disclosure

Earlier, no-longer-public content revisions are exposed through the revision comparison.

T1213 – Data from Information Repositories
  • Only confidentiality is affected – integrity remains untouched per advisory
  • Removed sensitive notes or outdated contacts from earlier revisions may become visible
  • No data modification or deletion possible, only viewing
  • Exploit status: theoretical/White-Hat, no public PoC known as of 2026-08-15
PHASE 4/4 · Remediation & Mitigation

The patch now enforces the stricter revision permission; operators should update to the fixed versions.

  • Fixed versions 2.0.1 and 2.1.1, released 2026-08-11 (advisory 2026-08-12)
  • Patched route now checks 'view all revisions' instead of only 'view'
  • Check via 'composer show drupal/diff', 'composer outdated', 'composer audit'
  • Reporter per advisory: Alexei Rayu
Short & clear answers
Frequently asked questions about this incident
Am I affected by the Diff vulnerability CVE-2026-73478?
All Diff versions below 2.0.1 as well as version 2.1.0 are affected. Check your installed version with the command composer show drupal/diff or look under "Reports" and "Available updates" in the admin area. The issue is fixed in versions 2.0.1 and 2.1.1.
What do I need to do right now?
Apply the fix: update the 2.0.x branch to at least 2.0.1 or the 2.1.x branch to at least 2.1.1. Create a tested backup first and roll out the update on a staging environment first. A permissions-only workaround does not replace the update.
How dangerous is this vulnerability for my website?
Drupal rates the flaw as "moderately critical" with 13 out of 25 points, so in the medium severity range. It only concerns confidentiality: non-public content from earlier revisions could potentially be exposed, but data cannot be altered or deleted. No public exploit code existed at the time of the advisory.
What condition must an attacker meet?
An attacker needs a role with permission to view the affected entity. According to the advisory no authentication is required, so access could even be possible via an anonymous role, provided that role can view the entity. Where public or broadly assigned roles cannot see relevant non-node entities, the real-world risk is lower.
How do I verify after the update that the gap is closed?
Test with an account that may view the entity but has no permission to view all revisions, to confirm no revision diff is reachable anymore. In parallel, verify with an explicitly authorized role that the functions you need still work. Also preserve and review your web server, WAF and Drupal logs for unusual access to revision views.
More security news
You might also be interested in
Critical Elementor Pro Flaw: Attackers Can Fully Take Over WordPress Sites
A file upload bug in Elementor Pro up to 4.2.1 allows RCE without login. Version 4.2.2 fixes the flaw – update now!
Pods Plugin: Critical Flaw Enables Admin Takeover, No Login
A critical flaw in the WordPress plugin Pods lets attackers overwrite admin passwords without login. Over 100,000 sites are affected.
miniOrange SAML SSO: Critical Bypass Turns Attackers Into Admins
Two critical auth bypasses in the miniOrange SAML SSO plugin allow forged SAML assertions—up to full WordPress admin access.