{"id":"CVE-2025-54119","aliases":["DEBIAN-CVE-2025-54119","DLA-4340-1","EUVD-2025-23567","GHSA-vf2r-cxg9-p7rf","UBUNTU-CVE-2025-54119"],"status":"published","title":"ADOdb's sqlite3 driver allows SQL injection","description":"ADOdb is a PHP database class library that provides abstractions for performing queries and managing databases. In versions 5.22.9 and below, improper escaping of a query parameter may allow an attacker to execute arbitrary SQL statements when the code using ADOdb connects to a sqlite3 database and calls the metaColumns(), metaForeignKeys() or metaIndexes() methods with a crafted table name. This is fixed in version 5.22.10. To workaround this issue, only pass controlled data to metaColumns(), metaForeignKeys() and metaIndexes() method's $table parameter.","severity":{"version":"3.1","score":10,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00556,"percentile":0.46843,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-89"],"published":"2025-08-04T15:12:03Z","modified":"2026-11-04T20:02:57Z","fixes":[{"ecosystem":"Packagist","package":"adodb/adodb-php","fixed_in":["5.22.10"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"libphp-adodb","fixed_in":["5.21.4-1+deb12u2"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"libphp-adodb","fixed_in":["5.22.9-0.1+deb13u1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"libphp-adodb","fixed_in":["5.22.10-0.1"],"sources":["osv"]},{"ecosystem":"Debian:11","package":"libphp-adodb","fixed_in":["5.20.19-1+deb11u3"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Packagist","package":"adodb/adodb-php","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"5.22.9"},{"fixed":"5.22.10"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"libphp-adodb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.21.4-1+deb12u2"}]}],"versions":["5.21.4-1","5.21.4-1+deb12u1"]},{"source":"osv","ecosystem":"Debian:13","package":"libphp-adodb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.22.9-0.1+deb13u1"}]}],"versions":["5.22.9-0.1"]},{"source":"osv","ecosystem":"Debian:14","package":"libphp-adodb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.22.10-0.1"}]}],"versions":["5.22.9-0.1"]},{"source":"osv","ecosystem":"Debian:11","package":"libphp-adodb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.20.19-1+deb11u3"}]}],"versions":["5.20.19-1","5.20.19-1+deb11u1","5.20.19-1+deb11u2"]},{"source":"osv","ecosystem":"Packagist","package":"adodb/adodb-php","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.22.10"}]}],"versions":["v5.19","v5.20.0","v5.20.1","v5.20.10","v5.20.11","v5.20.12","v5.20.13","v5.20.14","v5.20.15","v5.20.16","v5.20.17","v5.20.18","v5.20.19","v5.20.2","v5.20.20","v5.20.21","v5.20.3","v5.20.4","v5.20.5","v5.20.6","v5.20.7","v5.20.8","v5.20.9","v5.21.0","v5.21.0-beta.1","v5.21.0-rc.1","v5.21.1","v5.21.2","v5.21.3","v5.21.4","v5.22.0","v5.22.1","v5.22.2","v5.22.3","v5.22.4","v5.22.5","v5.22.6","v5.22.7","v5.22.8","v5.22.9"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libphp-adodb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.18a-1","5.20.1-1","5.20.2-1","5.20.2-2","5.20.3-1","5.20.3-1ubuntu1","5.20.3-1ubuntu1+esm1","5.20.3-1ubuntu1+esm2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libphp-adodb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.20.9-1","5.20.9-1ubuntu0.1~esm1","5.20.9-1ubuntu0.1~esm2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libphp-adodb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.20.14-1","5.20.15-1","5.20.16-1","5.20.16-1ubuntu0.1~esm1","5.20.16-1ubuntu0.1~esm2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"libphp-adodb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.20.19-1","5.20.19-1ubuntu0.1","5.20.19-1ubuntu0.1+esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"libphp-adodb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.21.4-1","5.21.4-1ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"libphp-adodb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.22.8-0.1","5.22.9-0.1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"libphp-adodb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.22.11-1"]}],"products":[{"vendor":"adodb","product":"adodb"}],"references":[{"url":"https://github.com/ADOdb/ADOdb/security/advisories/GHSA-vf2r-cxg9-p7rf","tags":["x_refsource_CONFIRM","advisory","web","report"]},{"url":"https://github.com/ADOdb/ADOdb/issues/1083","tags":["x_refsource_MISC","report","web"]},{"url":"https://github.com/ADOdb/ADOdb/commit/5b8bd52cdcffefb4ecded1b399c98cfa516afe03","tags":["x_refsource_MISC","fix","web","report"]},{"url":"https://lists.debian.org/debian-lts-announce/2025/10/msg00020.html","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-54119","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-vf2r-cxg9-p7rf"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/54xxx/CVE-2025-54119.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2025-54119","tags":["advisory"]},{"url":"https://github.com/ADOdb/ADOdb","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2025-54119","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2025-54119","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2025-54119","title":"ADOdb's sqlite3 driver allows SQL injection","description":"ADOdb is a PHP database class library that provides abstractions for performing queries and managing databases. In versions 5.22.9 and below, improper escaping of a query parameter may allow an attacker to execute arbitrary SQL statements when the code using ADOdb connects to a sqlite3 database and calls the metaColumns(), metaForeignKeys() or metaIndexes() methods with a crafted table name. This is fixed in version 5.22.10. To workaround this issue, only pass controlled data to metaColumns(), metaForeignKeys() and metaIndexes() method's $table parameter.","status":"published","published":"2025-08-05T00:12:52.505Z","modified":"2025-11-03T17:45:02.291Z","cvss":[{"version":"3.1","score":10,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L","level":"critical","assessor":"cna"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:32:27.603809Z"}],"euvd":[{"id":"EUVD-2025-23567","description":"ADOdb is a PHP database class library that provides abstractions for performing queries and managing databases. In versions 5.22.9 and below, improper escaping of a query parameter may allow an attacker to execute arbitrary SQL statements when the code using ADOdb connects to a sqlite3 database and calls the metaColumns(), metaForeignKeys() or metaIndexes() methods with a crafted table name. This is fixed in version 5.22.10. To workaround this issue, only pass controlled data to metaColumns(), metaForeignKeys() and metaIndexes() method's $table parameter.","status":"published","published":"2025-08-05T00:12:52Z","modified":"2025-11-03T17:45:02Z","cvss":[{"version":"3.1","score":10,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L","level":"critical"}],"updated_at":"2026-11-02T19:49:35.000596Z"}],"ghsa":[{"id":"GHSA-vf2r-cxg9-p7rf","title":"The ADOdb sqlite3 driver allows SQL injection","description":"Improper escaping of a query parameter may allow an attacker to execute arbitrary SQL statements when the code using ADOdb connects to a sqlite3 database and calls the metaColumns(), metaForeignKeys() or metaIndexes() methods with a crafted table name.\n\nNote that the indicated Severity corresponds to a worst-case usage scenario, e.g. allowing user-supplied data to be sent as-is to the above-mentioned methods.\n\n### Impact\nSQLite3 driver.\n\n### Patches\nVulnerability is fixed in ADOdb 5.22.10 (https://github.com/ADOdb/ADOdb/commit/5b8bd52cdcffefb4ecded1b399c98cfa516afe03).\n\n### Workarounds\nOnly pass controlled data to metaColumns(), metaForeignKeys() and metaIndexes() method's $table parameter.\n\n### Credits\n\nThanks to Marco Nappi (@mrcnpp) for reporting this vulnerability.","status":"published","published":"2025-08-04T15:12:03Z","modified":"2025-11-03T18:31:33Z","cvss":[{"version":"3.1","score":10,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:39:04.350802Z"}],"nvd":[{"id":"CVE-2025-54119","description":"ADOdb is a PHP database class library that provides abstractions for performing queries and managing databases. In versions 5.22.9 and below, improper escaping of a query parameter may allow an attacker to execute arbitrary SQL statements when the code using ADOdb connects to a sqlite3 database and calls the metaColumns(), metaForeignKeys() or metaIndexes() methods with a crafted table name. This is fixed in version 5.22.10. To workaround this issue, only pass controlled data to metaColumns(), metaForeignKeys() and metaIndexes() method's $table parameter.","status":"published","published":"2025-08-05T01:15:41.08Z","modified":"2026-06-17T09:39:29.007Z","cvss":[{"version":"3.1","score":10,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L","level":"critical","assessor":"secondary"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:11:22.319351Z"}],"osv":[{"id":"CVE-2025-54119","title":"ADOdb's sqlite3 driver allows SQL injection","description":"ADOdb is a PHP database class library that provides abstractions for performing queries and managing databases. In versions 5.22.9 and below, improper escaping of a query parameter may allow an attacker to execute arbitrary SQL statements when the code using ADOdb connects to a sqlite3 database and calls the metaColumns(), metaForeignKeys() or metaIndexes() methods with a crafted table name. This is fixed in version 5.22.10. To workaround this issue, only pass controlled data to metaColumns(), metaForeignKeys() and metaIndexes() method's $table parameter.","status":"published","published":"2025-08-05T00:12:52.505Z","modified":"2026-10-28T02:31:10.581876775Z","cvss":[{"version":"3.1","score":10,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T15:44:50.863921Z"},{"id":"DEBIAN-CVE-2025-54119","description":"ADOdb is a PHP database class library that provides abstractions for performing queries and managing databases. In versions 5.22.9 and below, improper escaping of a query parameter may allow an attacker to execute arbitrary SQL statements when the code using ADOdb connects to a sqlite3 database and calls the metaColumns(), metaForeignKeys() or metaIndexes() methods with a crafted table name. This is fixed in version 5.22.10. To workaround this issue, only pass controlled data to metaColumns(), metaForeignKeys() and metaIndexes() method's $table parameter.","status":"published","published":"2025-08-05T01:15:41.08Z","modified":"2026-09-01T20:05:54.529892915Z","cvss":[{"version":"3.1","score":10,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L","level":"critical"}],"updated_at":"2026-11-02T15:45:47.378563Z"},{"id":"GHSA-vf2r-cxg9-p7rf","title":"The ADOdb sqlite3 driver allows SQL injection","description":"Improper escaping of a query parameter may allow an attacker to execute arbitrary SQL statements when the code using ADOdb connects to a sqlite3 database and calls the metaColumns(), metaForeignKeys() or metaIndexes() methods with a crafted table name.\n\nNote that the indicated Severity corresponds to a worst-case usage scenario, e.g. allowing user-supplied data to be sent as-is to the above-mentioned methods.\n\n### Impact\nSQLite3 driver.\n\n### Patches\nVulnerability is fixed in ADOdb 5.22.10 (https://github.com/ADOdb/ADOdb/commit/5b8bd52cdcffefb4ecded1b399c98cfa516afe03).\n\n### Workarounds\nOnly pass controlled data to metaColumns(), metaForeignKeys() and metaIndexes() method's $table parameter.\n\n### Credits\n\nThanks to Marco Nappi (@mrcnpp) for reporting this vulnerability.","status":"published","published":"2025-08-04T15:12:03Z","modified":"2025-11-03T19:50:18.058757Z","cvss":[{"version":"3.1","score":10,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T15:46:56.981655Z"},{"id":"UBUNTU-CVE-2025-54119","description":"ADOdb is a PHP database class library that provides abstractions for performing queries and managing databases. In versions 5.22.9 and below, improper escaping of a query parameter may allow an attacker to execute arbitrary SQL statements when the code using ADOdb connects to a sqlite3 database and calls the metaColumns(), metaForeignKeys() or metaIndexes() methods with a crafted table name. This is fixed in version 5.22.10. To workaround this issue, only pass controlled data to metaColumns(), metaForeignKeys() and metaIndexes() method's $table parameter.","status":"published","published":"2025-08-05T01:15:00Z","modified":"2026-11-04T20:02:57.902247601Z","cvss":[{"version":"3.1","score":10,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L","level":"critical"}],"updated_at":"2026-11-04T21:44:46.937337Z"},{"id":"DLA-4340-1","title":"libphp-adodb - security update","status":"published","published":"2025-10-20T00:00:00Z","modified":"2025-10-20T15:16:54.725575Z","updated_at":"2026-11-02T15:46:12.7027Z"}]}}
