CVE-2026-96634

CVE-2026-96634 is a medium-severity security vulnerability in adminneo-org/adminneo (composer), affecting versions < 5.5.1. It is fixed in 5.5.1.

Does this CVE actually affect you?

Kodem shows which CVEs are reachable and running in your applications, so you fix what's exploitable, not just what's listed.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Runtime intelligence, not another scanner.

Summary

AdminNeo SQLite: multi_query Incorrect Check of Function Return Value RCE

This vulnerability is a patch bypass that exploits catastrophic backtracking in a regular expression used to filter ATTACH statements in AdminNeo's SQLite functionality. The original vulnerability (CVE-2021-43008) allowed authenticated users to create PHP files through SQLite ATTACH statements, achieving remote code execution. The patch introduced a regex filter to block ATTACH queries, but this filter is vulnerable to catastrophic backtracking.

Originally reported by @zdi-disclosures in Adminer: https://github.com/vrana/adminer/security/advisories/GHSA-3582-q6xq-5vf7

Analysis

[Source] sql.inc.php :: SQL import handler:47

$query = get_file("sql_file", true, ";");

User uploads a malicious SQL file through the import form. The file content is read into the $query variable without any initial sanitization.

[Transform] sql.inc.php :: SQL import handler:87

// Query parsing loop that extracts individual SQL statements

The uploaded SQL content is processed in a loop that splits it into individual queries. Each query $query is extracted for processing.

[Context] sql.inc.php :: SQL import handler:65

$space = "(?:\\s|/\\*[\s\S]*?\\*/|(?:#|$line_comment)[^\n]*\n?|--\r?\n)";

Definition of the $space regex pattern used in the ATTACH filter. The possessive quantifier *+ combined with SQLite comment patterns (--) creates the catastrophic backtracking vulnerability when many comment lines are processed.

[Transform] sql.inc.php :: SQL import handler:146

if (DIALECT == "sqlite" && preg_match("~^$space*+ATTACH\\b~i", $q, $match)) {

The ATTACH query filter check. When the regex encounters 350,000 SQLite comment lines (--), it triggers catastrophic backtracking. The possessive quantifier *+ causes exponential backtracking, eventually hitting PHP's backtracking limit and causing preg_match() to return false instead of 0 or 1, bypassing the security filter.

[Sink] sql.inc.php :: SQL import handler:162

Connection::get()->multiQuery($q)

When the ATTACH filter is bypassed due to the preg_match() returning false, the malicious SQL query containing the ATTACH statement is executed. This allows the attacker to create a .php file with embedded PHP code, achieving remote code execution when the file is accessed via HTTP.

The root cause is that PHP's preg_match() function returns false when the backtracking limit is exceeded, but the code only checks for truthy values (1 for match), treating false the same as 0 (no match). This allows the ATTACH statement to bypass the security filter.

-- CREDIT ---------------------------------------
This vulnerability was discovered by:
0daystolive (Sorcery Ltd) working with TrendAI Zero Day Initiative

Zero Day Initiative
[email protected]

The PGP key used for all ZDI vendor communications is available from:
http://www.zerodayinitiative.com/documents/disclosures-pgp-key.asc

-- INFORMATION ABOUT THE ZDI --------------------
Established by TippingPoint and acquired by Trend Micro, the Zero Day Initiative (ZDI) neither re-sells vulnerability details nor exploit code. Instead, upon notifying the affected product vendor, the ZDI provides its Trend Micro TippingPoint customers with zero day protection through its intrusion prevention technology. Explicit details regarding the specifics of the vulnerability are not exposed to any parties until an official vendor patch is publicly available.

Please contact us for further details or refer to:

http://www.zerodayinitiative.com

-- DISCLOSURE POLICY ----------------------------
Our vulnerability disclosure policy is available online at:
http://www.zerodayinitiative.com/advisories/disclosure_policy/

Impact

Affected versions

adminneo-org/adminneo (< 5.5.1)

Security releases

adminneo-org/adminneo → 5.5.1 (composer)

Kodem intelligence

Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.

Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.

Already deployed Kodem?

See it in your environmentNew to Kodem? Get a demo →

Remediation advice

Upgrade adminneo-org/adminneo to 5.5.1 or later to resolve this vulnerability.

Kodem Kai can prioritize this vulnerability in your dependency tree and generate a fix recommendation.

Frequently Asked Questions

  1. What is CVE-2026-96634? CVE-2026-96634 is a medium-severity security vulnerability in adminneo-org/adminneo (composer), affecting versions < 5.5.1. It is fixed in 5.5.1.
  2. Which versions of adminneo-org/adminneo are affected by CVE-2026-96634? adminneo-org/adminneo (composer) versions < 5.5.1 is affected.
  3. Is there a fix for CVE-2026-96634? Yes. CVE-2026-96634 is fixed in 5.5.1. Upgrade to this version or later.
  4. Is CVE-2026-96634 exploitable, and should I be worried? Whether CVE-2026-96634 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
  5. What actually determines whether CVE-2026-96634 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
  6. How do I fix CVE-2026-96634? Upgrade adminneo-org/adminneo to 5.5.1 or later.

Other vulnerabilities in adminneo-org/adminneo

Stop the waste.
Protect your environment with Kodem.