{"id":"CVE-2026-105845","aliases":["EUVD-2026-93471","GHSA-v49j-62m6-pgrr"],"status":"published","title":"Payload: SQL Injection in SQLite and Postgres","description":"Payload is a free and open source headless content management system. In versions from 3.0.0 before 3.88.0 and canary versions before 4.0.0-canary.27, an untrusted user who can query readable collections through dynamic filters or joins can submit a request that causes SQL injection in the SQLite and Postgres adapters. This issue is fixed in versions 3.88.0 and 4.0.0-canary.27.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00381,"percentile":0.32617,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-89"],"published":"2026-10-06T15:58:51Z","modified":"2026-10-28T02:31:04Z","fixes":[{"ecosystem":"npm","package":"payload","fixed_in":["3.88.0","4.0.0-canary.27"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"payload","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.0.0"},{"fixed":"3.88.0"}]}]},{"source":"ghsa","ecosystem":"npm","package":"payload","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0-canary.0"},{"fixed":"4.0.0-canary.27"}]}]},{"source":"osv","ecosystem":"npm","package":"payload","ranges":[{"type":"SEMVER","events":[{"introduced":"3.0.0"},{"fixed":"3.88.0"}]}]},{"source":"osv","ecosystem":"npm","package":"payload","ranges":[{"type":"SEMVER","events":[{"introduced":"4.0.0-canary.0"},{"fixed":"4.0.0-canary.27"}]}]}],"products":[{"vendor":"payloadcms","product":"payload"}],"references":[{"url":"https://github.com/payloadcms/payload/security/advisories/GHSA-v49j-62m6-pgrr","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://github.com/payloadcms/payload/commit/a742140ab4fca3160f7f83e9e7d996552ffc3b5a","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/payloadcms/payload/releases/tag/v3.88.0","tags":["x_refsource_MISC","web"]},{"url":"https://github.com/advisories/GHSA-v49j-62m6-pgrr"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/105xxx/CVE-2026-105845.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-105845","tags":["advisory"]},{"url":"https://github.com/payloadcms/payload","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-105845","title":"Payload: SQL Injection in SQLite and Postgres","description":"Payload is a free and open source headless content management system. In versions from 3.0.0 before 3.88.0 and canary versions before 4.0.0-canary.27, an untrusted user who can query readable collections through dynamic filters or joins can submit a request that causes SQL injection in the SQLite and Postgres adapters. This issue is fixed in versions 3.88.0 and 4.0.0-canary.27.","status":"published","published":"2026-10-06T15:58:51.232Z","modified":"2026-10-06T17:27:31.326Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:19:56.755658Z"}],"euvd":[{"id":"EUVD-2026-93471","description":"Payload is a free and open source headless content management system. In versions from 3.0.0 before 3.88.0 and canary versions before 4.0.0-canary.27, an untrusted user who can query readable collections through dynamic filters or joins can submit a request that causes SQL injection in the SQLite and Postgres adapters. This issue is fixed in versions 3.88.0 and 4.0.0-canary.27.","status":"published","published":"2026-10-06T15:58:51Z","modified":"2026-10-06T17:27:31Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T17:27:37.140631Z"}],"ghsa":[{"id":"GHSA-v49j-62m6-pgrr","title":"Payload: SQL Injection in SQLite and Postgres","description":"### Impact\nA user can submit a request that exploits a SQL Injection vulnerability in Payload.\n\nYou are affected if:\n- You use an affected Payload version.\n- Untrusted users can query readable collections using dynamic filters or joins.\n\nYou are not affected if you use MongoDB (`@payloadcms/mongodb`).\n\n### Patches\nUsers should upgrade Payload packages to `\u003e= 3.88.0` or `\u003e= 4.0.0-canary.27`.\n\n### Workarounds\nUpgrading to a patched version is recommended. Until you can upgrade, restrict untrusted users from supplying dynamic query filters or join parameters and limit read access to affected collections.","status":"published","published":"2026-10-06T16:09:17Z","modified":"2026-10-06T16:09:18Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:41:27.036917Z"}],"nvd":[{"id":"CVE-2026-105845","description":"Payload is a free and open source headless content management system. In versions from 3.0.0 before 3.88.0 and canary versions before 4.0.0-canary.27, an untrusted user who can query readable collections through dynamic filters or joins can submit a request that causes SQL injection in the SQLite and Postgres adapters. This issue is fixed in versions 3.88.0 and 4.0.0-canary.27.","status":"published","published":"2026-10-06T16:17:06.54Z","modified":"2026-10-06T20:03:40.69Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:12:54.486849Z"}],"osv":[{"id":"CVE-2026-105845","title":"Payload: SQL Injection in SQLite and Postgres","description":"Payload is a free and open source headless content management system. In versions from 3.0.0 before 3.88.0 and canary versions before 4.0.0-canary.27, an untrusted user who can query readable collections through dynamic filters or joins can submit a request that causes SQL injection in the SQLite and Postgres adapters. This issue is fixed in versions 3.88.0 and 4.0.0-canary.27.","status":"published","published":"2026-10-06T15:58:51.232Z","modified":"2026-10-28T02:31:04.178772543Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T15:44:54.583213Z"},{"id":"GHSA-v49j-62m6-pgrr","title":"Payload: SQL Injection in SQLite and Postgres","description":"### Impact\nA user can submit a request that exploits a SQL Injection vulnerability in Payload.\n\nYou are affected if:\n- You use an affected Payload version.\n- Untrusted users can query readable collections using dynamic filters or joins.\n\nYou are not affected if you use MongoDB (`@payloadcms/mongodb`).\n\n### Patches\nUsers should upgrade Payload packages to `\u003e= 3.88.0` or `\u003e= 4.0.0-canary.27`.\n\n### Workarounds\nUpgrading to a patched version is recommended. Until you can upgrade, restrict untrusted users from supplying dynamic query filters or join parameters and limit read access to affected collections.","status":"published","published":"2026-10-06T16:09:17Z","modified":"2026-10-06T16:15:04.829817763Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T15:46:56.639206Z"}]}}
