CRITICAL🇬🇧 English

CVE-2023-28424

SQL Injection z możliwością RCE w Gentoo Soko (packages.gentoo.org)

CVSS 9.1v3.1pub. 2023-03-20upd. 2025-04-11

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.

🤖 Analiza AI
Jak działa

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.

Skutki

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.

Mitygacja

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.

Kogo dotyczy

Gentoo Soko w wersjach przed 1.0.2 (dotyczy instancji packages.gentoo.org oraz samodzielnych wdrożeń aplikacji Soko)

Uwagi

Podatność dotyczy publicznego serwisu packages.gentoo.org. Poprawka została wprowadzona w commicie `4fa6e4b619c0362728955b6ec56eab0e0cbf1e23` poprzez zastąpienie dynamicznych zapytań SQL mechanizmem prepared statements.

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

    APP
    Gentoo
    < 1.0.2
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCESQLiAuth BypassContainer
CWE
Referencje

Powiązane podatności

CVE-2023-26033HIGH7.5ten sam produkt

Gentoo soko is the code that powers packages.gentoo.org. Versions prior to 1.0.1 are vulnerable to SQL Injecti...

CVE-2024-12084CRITICAL9.8PL ✓ten sam vendor

Heap-based buffer overflow w rsync daemon — zapis poza granicami bufora sum2

CVE-2020-36770CRITICAL9.8PL ✓ten sam vendor

Nieprawidłowe nadawanie własności plików w Gentoo ebuild dla Slurm

CVE-2016-20021CRITICAL9.8PL ✓ten sam vendor

Brak weryfikacji podpisu PGP w Gentoo Portage emerge-webrsync

CVE-2024-12085HIGH7.5ten sam vendor

A flaw was found in rsync which could be triggered when rsync compares file checksums. This flaw allows an att...