Gentoo Soko w wersjach przed 1.0.2 zawiera podatność SQL injection w mechanizmie wyszukiwania pakietów, umożliwiającą nieuwierzytelnionym atakującym wykonywanie dowolnych zapytań SQL. Podatność jest szczególnie groźna, ponieważ udowodniono możliwość uzyskania pełnego wykonania kodu (RCE) w kontekście kontenera PostgreSQL.
▸ Pokaż oryginał (EN)
Soko if the code that powers packages.gentoo.org. Prior to version 1.0.2, the two package search handlers, `Search` and `SearchFeed`, implemented in `pkg/app/handler/packages/search.go`, are affected by a SQL injection via the `q` parameter. As a result, unauthenticated attackers can execute arbitrary SQL queries on `https://packages.gentoo.org/`. It was also demonstrated that primitive was enough to gain code execution in the context of the PostgreSQL container. The issue was addressed in commit `4fa6e4b619c0362728955b6ec56eab0e0cbf1e23y` of version 1.0.2 using prepared statements to interpolate user-controlled data in SQL queries.
Handlery wyszukiwania `Search` i `SearchFeed`, zaimplementowane w pliku `pkg/app/handler/packages/search.go`, przekazują parametr `q` (zapytanie wyszukiwania) bezpośrednio do zapytań SQL bez odpowiedniego oczyszczania danych wejściowych. Brak użycia prepared statements powoduje, że atakujący może wstrzyknąć własny kod SQL poprzez parametr `q` w żądaniu HTTP. Wykazano, że ta primityw SQL injection jest wystarczająca do uzyskania wykonania kodu w kontekście kontenera PostgreSQL obsługującego serwis packages.gentoo.org.
Nieuwierzytelniony atakujący może wykonywać dowolne zapytania SQL na bazie danych serwisu, co w konsekwencji może prowadzić do RCE w kontekście kontenera PostgreSQL, a tym samym do przejęcia kontroli nad środowiskiem bazodanowym, wycieku danych lub ich modyfikacji.
Należy zaktualizować Gentoo Soko do wersji 1.0.2, w której zastosowano prepared statements do obsługi danych wejściowych użytkownika w zapytaniach SQL (commit `4fa6e4b619c0362728955b6ec56eab0e0cbf1e23`). W przypadku braku możliwości natychmiastowej aktualizacji zaleca się ograniczenie dostępu sieciowego do endpointów wyszukiwania.
Gentoo Soko w wersjach przed 1.0.2 (dotyczy instancji packages.gentoo.org oraz samodzielnych wdrożeń aplikacji Soko)
Podatność dotyczy publicznego serwisu packages.gentoo.org. Poprawka została wprowadzona w commicie `4fa6e4b619c0362728955b6ec56eab0e0cbf1e23` poprzez zastąpienie dynamicznych zapytań SQL mechanizmem prepared statements.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:HGentoo Soko
APPGentoo< 1.0.2
Powiązane podatności
Gentoo soko is the code that powers packages.gentoo.org. Versions prior to 1.0.1 are vulnerable to SQL Injecti...
Heap-based buffer overflow w rsync daemon — zapis poza granicami bufora sum2
Nieprawidłowe nadawanie własności plików w Gentoo ebuild dla Slurm
Brak weryfikacji podpisu PGP w Gentoo Portage emerge-webrsync
A flaw was found in rsync which could be triggered when rsync compares file checksums. This flaw allows an att...