W OpenProject przed wersją 17.2.3 dane wprowadzane przez użytkownika były osadzane bezpośrednio w klauzulach SQL WHERE bez parametryzacji, co umożliwia atak SQL injection. Podatność posiada ocenę CVSS 9.9 (CRITICAL) i może prowadzić do nieautoryzowanej modyfikacji oraz zniszczenia danych.
▸ Pokaż oryginał (EN)
OpenProject is an open-source, web-based project management software. Prior to version 17.2.3, the =n operator in modules/reporting/lib/report/operator.rb:177 embeds user input directly into SQL WHERE clauses without parameterization. This issue has been patched in version 17.2.3.
Podatność znajduje się w pliku modules/reporting/lib/report/operator.rb (linia 177), gdzie operator =n konstruuje zapytania SQL poprzez bezpośrednie wbudowanie danych użytkownika w klauzulę WHERE bez użycia mechanizmów parametryzacji (prepared statements). Uwierzytelniony użytkownik może dostarczyć specjalnie spreparowane dane wejściowe, które zostaną zinterpretowane jako część polecenia SQL. Wektor ataku sieciowy (AV:N) z niskimi uprawnieniami (PR:L) i bez interakcji użytkownika (UI:N) oznacza, że wystarczy posiadać konto w aplikacji, aby przeprowadzić atak.
Atakujący może uzyskać nieuprawniony dostęp do danych przechowywanych w bazie, modyfikować lub usuwać informacje projektowe, a ze względu na zmieniony zakres (S:C) oddziaływanie może wykraczać poza samą aplikację. Podatność niesie ze sobą wysoki wpływ na integralność i dostępność systemu oraz częściowy wpływ na poufność danych.
Należy zaktualizować OpenProject do wersji 17.2.3 lub nowszej, w której podatność została usunięta. Patch dostępny jest w oficjalnym repozytorium GitHub pod adresem https://github.com/opf/openproject/releases/tag/v17.2.3. Do czasu aktualizacji zaleca się ograniczenie dostępu do modułu raportowania wyłącznie do zaufanych użytkowników.
OpenProject w wersjach wcześniejszych niż 17.2.3 (wszystkie instalacje oparte na module raportowania zawierającym podatny operator =n).
Podatność zgłoszona i załatana w wersji 17.2.3. Szczegóły dostępne w security advisory GHSA-5rrm-6qmq-2364 w repozytorium OpenProject na GitHub.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:HOpenproject
APPOpenproject< 17.2.3
Powiązane podatności
Stored XSS w module Repositories aplikacji OpenProject
SQL Injection w OpenProject umożliwiający zdalne wykonanie kodu Ruby
OpenProject: command injection w endpointcie repozytorium prowadzący do RCE
OpenProject: command injection w endpoincie diff repozytorium (zapis dowolnych plików)
OpenProject — odczyt lokalnych plików przez SVG/ImageMagick przy eksporcie PDF