CVE-2026-81728
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 17 - wyżej niż 17% wszystkich znanych CVE
Streszczenie
Dolibarr przed wersją 24.0.0 zawiera podatność na wstrzyknięcie SQL w kreatorze importu CSV i XLSX. Kreator odczytuje klucze aktualizacji przez GETPOST('updatekeys', 'array') w htdocs/imports/import.php, stosując tylko filtr alphanohtml, który nie usuwa słów kluczowych SQL, komentarzy, nawiasów, spacji i cudzysłowów. Funkcja import_insert() w htdocs/core/modules/import/import_csv.modules.php buduje filtr z $where[] = $key.' = '.$data[$key] i wykonuje go przez $this->db->query(), co pozwala na wstrzyknięcie SQL.
Ocena ryzyka
Użytkownik z uprawnieniem importu może wykraść dowolne dane z bazy oraz nadpisać wybrane wiersze, co może prowadzić do naruszenia poufności i integralności danych.
Rekomendacja
Zaleca się aktualizację do wersji 24.0.0, która dodaje test listy dozwolonych wartości (allow-list) dla kluczy aktualizacji.
Inne podatności w Dolibarr
Zobacz wszystkie- CVE-2023-33568Wysokie
W Dolibarr w wersji 16 przed 16.0.5 występuje problem, który pozwala nieautoryzowanym atakującym na wykonanie zrzutu bazy danych oraz dostęp do pełnych informacji o klientach, potencjalnych klientach, dostawcach i pracownikach, jeśli istnieje plik kontaktowy.
- CVE-2017-14242Krytyczne
W podatności CVE-2017-14242 występuje luka typu SQL injection w pliku don/list.php w wersji 6.0.0 systemu Dolibarr, która pozwala zdalnym atakującym na wykonywanie dowolnych poleceń SQL poprzez parametr statut.
- CVE-2026-89013Wysokie
Dolibarr w wersji od 23.0.4 do 24.0.1 zawiera podatność obejścia autoryzacji, która pozwala nieuwierzytelnionym atakującym na odczyt dowolnych plików poprzez podanie spreparowanej wartości parametru hashp. Atakujący może użyć hashp=shared, aby pominąć walidację tokenu i uzyskać dostęp do logów, dokumentów biznesowych, kopii zapasowych bazy danych i plików innych jednostek.
- CVE-2026-89012Średnie
Dolibarr 24.0.0 przed 24.0.1 zawiera podatność obejścia denylisty zależną od wielkości liter w parametrze zapytania API sqlfilters. Uwierzytelniony atakujący może odzyskać chronione pola bazy danych, podając nazwy pól z denylisty wielkimi literami, wykorzystując różnicę między wrażliwym na wielkość liter sprawdzeniem denylisty a niewrażliwym na wielkość liter rozwiązywaniem kolumn.
- CVE-2026-85401Średnie
W Dolibarr do wersji 21.0.4/22.0.5/23.0.3 wykryto podatność w Legacy File Manager, w pliku htdocs/core/filemanagerdol/connectors/php/config.inc.php. Manipulacja prowadzi do nieprawidłowej kontroli dostępu. Atak może być wykonany zdalnie. Exploit jest publiczny. Aktualizacja do wersji 23.0.4 rozwiązuje problem.
- CVE-2026-82633Średnie
Dolibarr w wersjach od 10.0.0 do przed 24.0.0 nie przeprowadza kontroli autoryzacji per obiekt w punkcie końcowym REST API Users::getGroups, co pozwala uwierzytelnionym użytkownikom na pobieranie członkostw w grupach innych użytkowników. Atakujący mogą wywołać GET /users/{id}/groups z dowolnymi identyfikatorami użytkowników, aby uzyskać nazwy grup, powiązania encji i prywatne notatki ponad granicami dzierżawców.
- CVE-2026-81730Wysokie
Dolibarr w wersjach od 9.0.0 do 23.0.4 zapisuje załączniki przychodzących wiadomości e-mail pod nazwą pochodzącą z nagłówków MIME bez redukcji do bezpiecznej nazwy bazowej. Funkcje saveAttachment() w htdocs/emailcollector/lib/emailcollector.lib.php oraz w htdocs/emailcollector/class/emailcollector.class.php budują ścieżkę pliku z nazwy załącznika, która może zawierać sekwencje przejść ścieżek, co pozwala na zapis treści poza katalogiem docelowym.
- CVE-2026-81729Średnie
Dolibarr przed wersją 23.0.4 autoryzuje usuwanie dokumentów przez REST API z użyciem niewłaściwego uprawnienia. Funkcja Documents::delete() wywołuje dol_check_secure_access_document() z trybem 'read' zamiast 'write', co pozwala uwierzytelnionemu użytkownikowi z tylko uprawnieniami do odczytu na trwałe usunięcie dokumentów modułu.
- CVE-2026-77923Średnie
Dolibarr w wersjach od 21.0.0 do 24.0.0 zawiera podatność na obejście autoryzacji spowodowaną odwróconym warunkiem logicznym w sprawdzaniu członkostwa w prywatnym projekcie w handlerze akcji masowych clonetasks w pliku htdocs/core/actions_massactions.inc.php. Uwierzytelnieni użytkownicy z uprawnieniami do tworzenia projektów, ale bez dostępu do docelowego prywatnego projektu, mogą wykorzystać błędne sprawdzenie !in_array() do klonowania zadań do nieautoryzowanych prywatnych projektów.
- CVE-2026-71511Średnie
Dolibarr przed wersją 24.0.0 zawiera podatność na ujawnienie wrażliwych danych w REST API modułu Members. Uwierzytelniony atakujący z uprawnieniami odczytu członków może pobrać weryfikatory haseł bcrypt, odwołując się do endpointów członków. Pola weryfikatorów nie są filtrowane przez serializer API ani klasę Members API, co umożliwia ataki offline na hasła.
Oryginalny opis (angielski, źródło NVD)
Dolibarr before 24.0.0 contains a SQL injection in its CSV and XLSX import wizard. The wizard reads its update keys with GETPOST('updatekeys', 'array') in htdocs/imports/import.php, which applies only the generic alphanohtml filter: that strips HTML but leaves SQL keywords, comment markers, parentheses, spaces and quotes intact. import_insert() in htdocs/core/modules/import/import_csv.modules.php then iterates the submitted values and builds a filter with $where[] = $key.' = '.$data[$key], having first applied preg_replace('/^.*\./i', '', $key), an alias strip that does nothing to a value containing no dot. The assembled string is executed through $this->db->query(). The injected SELECT resolves the row id that the import then assigns to $lastinsertid, which becomes the WHERE target of a subsequent UPDATE, so a UNION SELECT returning an attacker-chosen integer both exfiltrates arbitrary table content and redirects which row the import overwrites; for category link tables the raw filter array is spliced into that UPDATE directly. The interface offers a fixed list of legitimate column codes but the server never checks the submitted values against it. A user holding the import permission can exploit this. Release 23.0.4 does not carry the fix; the allow-list test was added in 24.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

