Demi <= 0.0.8 - Unauthenticated Information Exposure to Arbitrary Directory Copy
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-200.
Summary
The Demi – One Click Demo Import, WP Backup & Site Migration plugin for WordPress is vulnerable to Arbitrary Directory Copy in all versions up to, and including, 0.0.8 via the handle_restore_step function. This is due to missing HTTP access controls on the wp-content/uploads/demi-backup-state/ directory, which exposes the cryptographic restore key used to both authenticate the unauthenticated AJAX handler and forge signed restore-state envelopes. This makes it possible for unauthenticated attackers to copy arbitrary files to attacker-controlled destinations on the server. An active restore operation must have been initiated, which writes the .restore_key and .restore_step_token files to the public upload directory, before the exposed secrets can be harvested and chained to achieve unauthenticated arbitrary file copy.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2026-15012
- 2026-10-03 Alias added: GHSA-4p37-mx5p-f6gr
References
Other 12
- https://www.wordfence.com/threat-intel/vulnerabilities/id/61ee1857-aa85-4d37-a347-a1f59c95cbff?source=cve
- https://plugins.trac.wordpress.org/browser/demi-backup-migration/trunk/classes/Import/Manager.php#L50
- https://plugins.trac.wordpress.org/browser/demi-backup-migration/trunk/classes/Import/Manager.php#L460
- https://plugins.trac.wordpress.org/browser/demi-backup-migration/trunk/classes/Import/Manager.php#L287
- https://plugins.trac.wordpress.org/browser/demi-backup-migration/trunk/classes/Import/Tasks/RestoreFiles.php#L168
- https://plugins.trac.wordpress.org/browser/demi-backup-migration/trunk/includes/helper-functions.php#L55
- https://plugins.trac.wordpress.org/browser/demi-backup-migration/tags/0.0.6/classes/Import/Manager.php#L460
- https://plugins.trac.wordpress.org/browser/demi-backup-migration/tags/0.0.6/classes/Import/Manager.php#L287
- https://plugins.trac.wordpress.org/browser/demi-backup-migration/tags/0.0.6/classes/Import/Manager.php#L50
- https://plugins.trac.wordpress.org/browser/demi-backup-migration/tags/0.0.6/classes/Import/Tasks/RestoreFiles.php#L168
- https://plugins.trac.wordpress.org/browser/demi-backup-migration/tags/0.0.6/includes/helper-functions.php#L55
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3616690%40demi-backup-migration&new=3616690%40demi-backup-migration
More deveasel vulnerabilities
- TI-2026-12243 Demi <= 0.0.6 - Unauthenticated Arbitrary Directory Deletion via demi_restore_step AJAX action CVSS 3.1HIGH 7.5
Sources
- CVE-2026-15012 · CVE Program
- CVE-2026-15012 · NVD
- FIRST EPSS
- GHSA-4p37-mx5p-f6gr · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences