← All CVEs NewScan detects
medium

CVE-2026-89012

Dolibarr case-sensitive denylist bypass in the sqlfilters API parameter - uppercase field names reach protected columns as a boolean oracle

Severity
medium
Affected product
Dolibarr
Affected versions
Dolibarr ≥ 24.0.0, < 24.0.1
Fixed in
Dolibarr 24.0.1
Added to NewScan
2026-09-14
Detected by
NewScan — free, self-hosted

How NewScan reports it

COMPONENT VERSION RANGE

NewScan fingerprints Dolibarr from its response and reports this CVE when the detected version falls inside the affected range below.

Added 2026-09-13. CVSS 7.1 (v4) / 6.5 (v3.1), and the v3.1 band is what sets `medium` here per docs/severity-standard.md - PR:L, so unlike its 89013 sibling this one needs an account. The core library's denylist of protected field names is compared case-SENSITIVELY while the database resolves column names case-INSENSITIVELY, so `PASS_CRYPTED` reaches the column `pass_crypted` the denylist was written to protect; prefix-matching predicates then turn the API into a boolean oracle that extracts full password hashes for any user including administrators. A SEPARATE row from CVE-2026-89013 rather than one merged `lt 24.0.1`, because the two have different lower bounds - 89013 reaches back to 23.0.4 and this one starts at 24.0.0 - so a merged row would claim this id against a 23.x install that never had it. The accepted cost is that a 24.0.0 install reports both; both are true and both resolve to the same upgrade. Version-match only: the oracle is authenticated and extracting a hash to prove it is not something a scanner may do to a customer. Same version source and same live measurement as the 89013 row above - dolibarr/dolibarr 24.0.0 on loopback is inside this range too and is the affected arm; no 24.0.1 image exists to measure the patched side, so 24.0.1 is fixture-pinned on both sides.

References

Scan for this yourself — local, in-band scanning is free.

Get NewScan (FREE) →