CRITICAL🇬🇧 English

CVE-2026-32698

SQL Injection w OpenProject umożliwiający zdalne wykonanie kodu Ruby

CVSS 9.1v3.1pub. 2026-03-18upd. 2026-03-19

OpenProject w wersjach przed 16.6.9, 17.0.6, 17.1.3 i 17.2.1 zawiera podatność SQL injection w polu nazwy niestandardowego pola (custom field), która w połączeniu z drugą luką może prowadzić do zdalnego wykonania kodu Ruby na serwerze. Luka jest krytyczna ze względu na potencjalny pełny kompromis serwera aplikacji.

Pokaż oryginał (EN)

OpenProject is an open-source, web-based project management software. Versions prior to 16.6.9, 17.0.6, 17.1.3, and 17.2.1 are vulnerable to an SQL injection attack via a custom field's name. When that custom field was used in a Cost Report, the custom field's name was injected into the SQL query without proper sanitation. This allowed an attacker to execute arbitrary SQL commands during the generation of a Cost Report. As custom fields can only be generated by users with full administrator privileges, the attack surface is somewhat reduced. Together with another bug in the Repositories_module, that used the project identifier without sanitation to generate the checkout path for a git repository in the filesystem, this allowed an attacker to checkout a git repository to an arbitrarily chosen path on the server. If the checkout is done within certain paths within the OpenProject application, upon the next restart of the application, this allows the attacker to inject ruby code into the application. As the project identifier cannot be manually edited to any string containing special characters like dots or slashes, this needs to be changed via the SQL injection described above. Versions 16.6.9, 17.0.6, 17.1.3, and 17.2.1 fix the issue.

🤖 Analiza AI
Jak działa

Nazwa niestandardowego pola (custom field) była wstrzykiwana do zapytania SQL bez odpowiedniej sanityzacji podczas generowania raportu kosztów (Cost Report), co pozwalało na wykonanie dowolnych poleceń SQL. Druga luka w module Repositories polegała na braku sanityzacji identyfikatora projektu przy generowaniu ścieżki checkout dla repozytorium git w systemie plików. Łącząc obie podatności, atakujący mógł najpierw poprzez SQL injection zmodyfikować identyfikator projektu tak, aby zawierał znaki specjalne (np. ukośniki), a następnie wymusić checkout repozytorium git do dowolnej ścieżki na serwerze. Jeśli repozytorium zostało sklonowane do odpowiedniej ścieżki wewnątrz aplikacji OpenProject, po jej restarcie możliwe było wstrzyknięcie kodu Ruby do aplikacji.

Skutki

Atakujący z uprawnieniami administratora może wykonać dowolny kod Ruby na serwerze aplikacji, co prowadzi do pełnego przejęcia kontroli nad systemem, w tym poufności, integralności i dostępności danych.

Mitygacja

Należy zaktualizować OpenProject do wersji 16.6.9, 17.0.6, 17.1.3 lub 17.2.1, w których obie luki zostały naprawione. Do czasu aktualizacji zaleca się ograniczenie liczby kont z uprawnieniami pełnego administratora oraz monitorowanie generowania raportów kosztów i operacji na repozytoriach.

Kogo dotyczy

OpenProject w wersjach wcześniejszych niż 16.6.9, 17.0.6, 17.1.3 oraz 17.2.1

Uwagi

Powierzchnia ataku jest częściowo ograniczona, ponieważ tworzenie niestandardowych pól (custom fields) wymaga uprawnień pełnego administratora. Pełne wykorzystanie podatności (RCE) wymaga jednoczesnego zastosowania dwóch oddzielnych luk oraz restartu aplikacji.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
  • Openproject

    APP
    Openproject
    17.2.0< 16.6.917.0.0 – 17.0.6 (bez)17.1.0 – 17.1.3 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
SQLi
CWE
Referencje

Powiązane podatności

CVE-2026-34717CRITICAL9.9PL ✓ten sam produkt

SQL Injection w OpenProject — operator =n bez parametryzacji zapytań

CVE-2026-32703CRITICAL9.0PL ✓ten sam produkt

Stored XSS w module Repositories aplikacji OpenProject

CVE-2026-25763CRITICAL9.4PL ✓ten sam produkt

OpenProject: command injection w endpointcie repozytorium prowadzący do RCE

CVE-2026-24685CRITICAL9.4PL ✓ten sam produkt

OpenProject: command injection w endpoincie diff repozytorium (zapis dowolnych plików)

CVE-2026-22600CRITICAL9.1PL ✓ten sam produkt

OpenProject — odczyt lokalnych plików przez SVG/ImageMagick przy eksporcie PDF