CVE-2026-112307
WysokieCVSS 7.3Streszczenie
sqlparse do wersji 0.6.0 zawiera podatność wstrzyknięcia kodu PHP, która pozwala atakującym wstrzyknąć wyrażenia PHP poprzez dostarczenie tekstu SQL zawierającego nieescapowane znaki dolara. Atakujący mogą osadzić sekwencje ${expr} lub {${expr}}, które OutputPHPFilter umieszcza w ciągach znaków w podwójnych cudzysłowach, wykonując dowolny kod PHP przy uruchomieniu wygenerowanego fragmentu.
Ocena ryzyka
Możliwe jest wykonanie dowolnego kodu PHP w kontekście aplikacji przetwarzającej niezaufany SQL, co może prowadzić do przejęcia serwera i wycieku danych. Ryzyko dotyczy systemów używających sqlparse do generowania kodu PHP.
Rekomendacja
Zaktualizuj sqlparse do wersji nowszej niż 0.6.0, jeśli jest dostępna, lub unikaj używania OutputPHPFilter na niezaufanych danych wejściowych. Wprowadź walidację i escapowanie tekstu SQL przed przetwarzaniem.
Inne podatności w sqlparse
Zobacz wszystkie- CVE-2026-84305Średnie
Podatność w sqlparse (parser SQL dla Pythona) przed wersją 0.6.0 powoduje nadmierne zużycie CPU podczas formatowania zapytań z nawiasowymi listami krotek, co może prowadzić do opóźnień w przetwarzaniu żądań i zmniejszenia przepustowości.
- CVE-2026-71491Wysokie
sqlparse to moduł parsera SQL dla Pythona, który nie waliduje składni. Przed wersją 0.6.0 funkcja group_comments w sqlparse/engine/grouping.py wielokrotnie skanuje komentarze przed zabezpieczeniem MAX_GROUPING_TOKENS, co powoduje kwadratowe zużycie CPU podczas wywołań sqlparse.parse() i sqlparse.format(sql, strip_comments=True). Problem został naprawiony w wersji 0.6.0.
- CVE-2026-59894Średnie
sqlparse przed wersją 0.6.0 ma podatność w sqlparse/filters/output.py, która nie escapuje istniejących backslashów przed cudzysłowami w formatach wyjściowych 'python' i 'php' oraz odpowiadających im trybach sqlformat -l, co pozwala spreparowanemu SQL na zakończenie wygenerowanego stringa i wstrzyknięcie kodu Python lub PHP, gdy konsument wykona lub zaimportuje wygenerowany kod.
- CVE-2026-59893Wysokie
sqlparse przed wersją 0.6.0 ma problem z wydajnością: SQL_REGEX w sqlparse/keywords.py oraz pętla per-position w sqlparse/lexer.py wielokrotnie skanują niedopasowane literały dollar-quoted i ograniczniki komentarzy wieloliniowych, powodując kwadratowe zużycie CPU podczas sqlparse.parse(), sqlparse.format() i sqlparse.split(). Problem naprawiono w wersji 0.6.0.
- CVE-2026-54284Wysokie
sqlparse przed wersją 0.6.0 ma problem z wydajnością: konstrukcja TokenList i konwersja na string w sqlparse/sql.py wielokrotnie spłaszcza zagnieżdżone poddrzewa tokenów tworzone przez group_parenthesis i group_case, powodując kwadratowe zużycie CPU podczas sqlparse.parse(), sqlparse.format() i sqlparse.split() zanim limity głębokości i tokenów przerwą przetwarzanie. Problem naprawiono w wersji 0.6.0.
Oryginalny opis (angielski, źródło NVD)
sqlparse through 0.6.0 contains a PHP code injection vulnerability that allows attackers to inject PHP expressions by supplying SQL text containing unescaped dollar signs. Attackers can embed ${expr} or {${expr}} sequences that OutputPHPFilter places in double-quoted strings, executing arbitrary PHP code when the generated snippet runs.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

