CVE-2026-33944: Dolibarr SQL injection in localtax parameters

CVE-2026-33944 · Severity: high · CVSS 8.8 · Published 2026-11-05

Dolibarr ERP/CRM contains a SQL injection vulnerability in the company/third party management module that allows authenticated users to extract sensitive data from the database. An attacker with standard company editing permissions can read password hashes, API keys, customer data, and financial records without administrator access. The vulnerability can be exploited to gain unauthorized database write access and potentially escalate to full system compromise.

Technologies: Dolibarr ERP/CRM, dolibarr/dolibarr (Packagist). Vendors: Dolibarr, Packagist.

Quick answers

Is CVE-2026-33944 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-33944 being exploited in the wild.
How severe is CVE-2026-33944?
High severity, with a CVSS score of 8.8, published 5 November 2026.
Which products and versions are affected?
Dolibarr ERP/CRM through v23.0.0; dolibarr/dolibarr (Packagist) <= 23.0.0, ECOSYSTEM:introduced=0,last_affected=23.0.0.
Is there a fix for CVE-2026-33944?
No fixed version is recorded yet. Apply the suggested fix: cast localtax1_value and localtax2_value to (float) using price2num() during assignment and when building the SQL statement in societe/class/societe.class.php at lines 1528, 1672, 1529, and 1682. This will prevent injection by enforcing numeric type safety.</anigation> </invoke> If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-33944 attacked?
It is attacked over the network, in a web application.
Am I affected by CVE-2026-33944?
Check whether you run Dolibarr ERP/CRM or dolibarr/dolibarr (Packagist) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

Apply the suggested fix: cast localtax1_value and localtax2_value to (float) using price2num() during assignment and when building the SQL statement in societe/class/societe.class.php at lines 1528, 1672, 1529, and 1682. This will prevent injection by enforcing numeric type safety.</anigation> </invoke>

Technical details

The localtax1_value and localtax2_value parameters in societe/class/societe.class.php are concatenated directly into SQL UPDATE statements without parameterization, type casting, or escaping. The POST-based lt1/lt2 input bypasses Dolibarr's GET-only WAF, and the alpha input filter does not strip SQL-relevant characters like parentheses and commas. An authenticated user with "Third Parties: Create/Edit" permission can inject arbitrary SQL expressions that execute in numeric context, enabling data exfiltration and potential modification via additional SET clauses.

Affected products

  • Dolibarr Dolibarr ERP/CRM through v23.0.0

Identifiers

  • CVE-2026-33944
  • GHSA-v5fq-cf5m-vwv7

Timeline

  • 2026-10-27: disclosed

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.