CRITICAL🇬🇧 English

CVE-2019-19450

ReportLab paraparser — RCE przez wykonanie kodu Python w elemencie unichar

CVSS 9.8v3.1pub. 2023-09-20upd. 2024-11-21

Podatność w komponencie paraparser biblioteki ReportLab przed wersją 3.5.31 umożliwia zdalne wykonanie kodu (RCE). Atakujący może dostarczyć spreparowany dokument XML zawierający element unichar z osadzonym kodem Python, który zostanie wykonany po stronie serwera.

Pokaż oryginał (EN)

paraparser in ReportLab before 3.5.31 allows remote code execution because start_unichar in paraparser.py evaluates untrusted user input in a unichar element in a crafted XML document with '<unichar code="' followed by arbitrary Python code, a similar issue to CVE-2019-17626.

🤖 Analiza AI
Jak działa

Funkcja start_unichar w pliku paraparser.py przetwarza element XML o nazwie unichar, którego atrybut code jest przekazywany bezpośrednio do ewaluacji jako kod Python — bez żadnej walidacji ani sandboxingu. Atakujący konstruuje dokument XML zawierający sekwencję '<unichar code="' po której umieszcza dowolny kod Python. Gdy aplikacja korzystająca z ReportLab renderuje taki dokument, osadzony kod zostaje wykonany w kontekście procesu serwera. Problem jest analogiczny do wcześniej zgłoszonej podatności CVE-2019-17626.

Skutki

Atakujący bez uwierzytelnienia może wykonać dowolny kod Python na serwerze przetwarzającym dokument, co skutkuje pełnym przejęciem kontroli nad systemem, w tym możliwością odczytu i modyfikacji danych oraz dalszego lateral movement w sieci.

Mitygacja

Należy zaktualizować ReportLab do wersji 3.5.31 lub nowszej. Użytkownicy Debian Linux powinni zastosować patche udostępnione przez projekt Debian LTS (ogłoszenie debian-lts-announce 2023/09). Należy unikać przetwarzania niezaufanych dokumentów XML przez podatne wersje biblioteki.

Kogo dotyczy

ReportLab przed wersją 3.5.31; podatność dotyczy również pakietów ReportLab dystrybuowanych w ramach Debian Linux

Uwagi

Podatność jest podobna do CVE-2019-17626, która dotyczyła analogicznego mechanizmu wykonania kodu w ReportLab. Pomimo daty publikacji CVE (2023-09-20), poprawka w ReportLab została wprowadzona we wcześniejszej wersji 3.5.31 — szczegóły dostępne w pliku CHANGES.md repozytorium projektu.

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

    OS
    Debian
    10.0
  • Reportlab

    APP
    Reportlab
    < 3.5.31
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCE
CWE
Referencje

Powiązane podatności

CVE-2026-24061CRITICAL9.8⚠ KEVPL ✓ten sam produkt

GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER

CVE-2025-32463CRITICAL9.3⚠ KEVPL ✓ten sam produkt

Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)

CVE-2025-49113CRITICAL9.9⚠ KEVPL ✓ten sam produkt

RCE przez deserializację PHP w Roundcube Webmail (parametr _from)

CVE-2025-32433CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)

CVE-2025-24201CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki