/

CVE-2026-33944

Severity:

HIGH RISK

(8.8)

SQL Injection (CWE-89) in Dolibarr Third-Party Update

CVE-2026-33944

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-89

Impact:

Sensitive data disclosure and database record modification

Severity:

HIGH RISK

(8.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Dolibarr's Third Party company update functionality builds SQL statements using local tax values without adequate sanitization or numeric conversion. An authenticated user with permission to create or edit Third Parties may be able to read sensitive database information or alter third-party records.

Dolibarr's Third Party company update functionality builds SQL statements using local tax values without adequate sanitization or numeric conversion. An authenticated user with permission to create or edit Third Parties may be able to read sensitive database information or alter third-party records.

Affected context

The issue occurs in Dolibarr's Third Party company update functionality when submitted lt1 or lt2 POST parameters are incorporated into an SQL UPDATE statement. It is relevant when those values are not safely converted or handled as data before being used in the query.

The issue occurs in Dolibarr's Third Party company update functionality when submitted lt1 or lt2 POST parameters are incorporated into an SQL UPDATE statement. It is relevant when those values are not safely converted or handled as data before being used in the query.

Exploit preconditions

  • Attack surface: Third Party company update functionality
  • Required access: An authenticated account with Third Party create or edit permission
  • Trigger point: Submission of lt1 or lt2 POST parameters during a company update
  • Why exploitation is possible: The corresponding local tax values are concatenated into SQL without appropriate sanitization or numeric conversion
  • Attack surface: Third Party company update functionality
  • Required access: An authenticated account with Third Party create or edit permission
  • Trigger point: Submission of lt1 or lt2 POST parameters during a company update
  • Why exploitation is possible: The corresponding local tax values are concatenated into SQL without appropriate sanitization or numeric conversion

Why this happens

The application constructs an SQL statement by concatenating request-derived local tax values into the query. When input is treated as SQL syntax rather than data, a crafted value may change the meaning of the statement. This is CWE-89: SQL Injection.

The application constructs an SQL statement by concatenating request-derived local tax values into the query. When input is treated as SQL syntax rather than data, a crafted value may change the meaning of the statement. This is CWE-89: SQL Injection.

Potential impact

  • An attacker may read sensitive database information, including password hashes, API keys, and business data.
  • An attacker could modify third-party records.
  • Exposure of stored credentials or business information may enable further compromise.
  • An attacker may read sensitive database information, including password hashes, API keys, and business data.
  • An attacker could modify third-party records.
  • Exposure of stored credentials or business information may enable further compromise.

General mitigation guidance

Common defensive patterns for this class of issue include:

  • Use parameterized queries or prepared statements so input values remain data.
  • Convert values to the expected numeric type and reject inputs that do not meet the defined constraints.
  • Apply server-side validation at the point where request data enters the application.
  • Restrict database accounts and application permissions to the minimum required.
  • Avoid returning sensitive database details in responses or logs.

Common defensive patterns for this class of issue include:

  • Use parameterized queries or prepared statements so input values remain data.
  • Convert values to the expected numeric type and reject inputs that do not meet the defined constraints.
  • Apply server-side validation at the point where request data enters the application.
  • Restrict database accounts and application permissions to the minimum required.
  • Avoid returning sensitive database details in responses or logs.

How teams detect issues like this

  • Use static analysis to identify SQL statements built through concatenation with request-derived values.
  • Review update handlers for local tax fields and other numeric parameters, checking that values are bound as query parameters.
  • Apply code-review and CI policies that flag unsafe query construction and require validation of externally supplied data.
  • Monitor for unusual database errors or unexpected reads and updates associated with Third Party operations.
  • Use static analysis to identify SQL statements built through concatenation with request-derived values.
  • Review update handlers for local tax fields and other numeric parameters, checking that values are bound as query parameters.
  • Apply code-review and CI policies that flag unsafe query construction and require validation of externally supplied data.
  • Monitor for unusual database errors or unexpected reads and updates associated with Third Party operations.

Sources

SourceLink
github.comgithub.com/Dolibarr/dolibarr/commit/a06b14b7dc39d33f8fa00c9b27f2913b494885cb
github.comgithub.com/Dolibarr/dolibarr/commit/c83c13305240c2c0a3779e678b57238b32d15e7c
github.comgithub.com/Dolibarr/dolibarr/pull/37632
github.comgithub.com/Dolibarr/dolibarr/releases/tag/22.0.5
github.comgithub.com/Dolibarr/dolibarr/releases/tag/23.0.2
github.comgithub.com/Dolibarr/dolibarr/security/advisories/GHSA-v5fq-cf5m-vwv7
sec4check.plsec4check.pl/blog/posts/cve-dolibarr-sql-injection-localtax-third-party.html

Frequently asked

questions

An authenticated user with the relevant permission may be able to retrieve sensitive database information or modify third-party records.

The issue requires an authenticated account with Third Party create or edit permission, plus access to the update functionality.

Use parameterized SQL queries and validate local tax values against the expected numeric format before processing them.

Keep request data separate from SQL syntax, review query-building code for concatenation, and enforce secure query patterns through automated checks and code review.

An authenticated user with the relevant permission may be able to retrieve sensitive database information or modify third-party records.

The issue requires an authenticated account with Third Party create or edit permission, plus access to the update functionality.

Use parameterized SQL queries and validate local tax values against the expected numeric format before processing them.

Keep request data separate from SQL syntax, review query-building code for concatenation, and enforce secure query patterns through automated checks and code review.

Find out what's already
exploitable in your codebase.