CRITICAL✓ PATCH🇬🇧 English

CVE-2019-17626

ReportLab RCE przez eval() w przetwarzaniu kolorów XML

CVSS 9.8v3.1pub. 2019-10-16upd. 2024-11-21

ReportLab w wersji do 3.5.26 zawiera podatność umożliwiającą zdalne wykonanie kodu (RCE) poprzez wywołanie funkcji eval() na niezaufanych danych wejściowych. Atakujący może osadzić dowolny kod Python w spreparowanym dokumencie XML i doprowadzić do jego wykonania na serwerze.

Pokaż oryginał (EN)

ReportLab through 3.5.26 allows remote code execution because of toColor(eval(arg)) in colors.py, as demonstrated by a crafted XML document with '<span color="' followed by arbitrary Python code.

🤖 Analiza AI
Jak działa

W pliku colors.py biblioteki ReportLab funkcja toColor() wywołuje eval() na argumencie przekazanym z atrybutu 'color' znacznika XML. Atakujący może spreparować dokument XML zawierający fragment '<span color="' a następnie dowolny kod Python, który zostanie dosłownie wykonany przez interpreter. Ponieważ nie ma żadnej walidacji ani sanityzacji danych wejściowych przed przekazaniem ich do eval(), dowolne wyrażenie Python jest wykonywane w kontekście aplikacji przetwarzającej dokument.

Skutki

Atakujący bez żadnego uwierzytelnienia może wykonać dowolny kod Python na serwerze przetwarzającym dokumenty, co prowadzi do pełnego przejęcia kontroli nad systemem, wycieku danych lub zniszczenia zasobów.

Mitygacja

Należy zaktualizować bibliotekę ReportLab do wersji nowszej niż 3.5.26. Dostępne są również patche dystrybucyjne Red Hat (RHSA-2020:0195, RHSA-2020:0197, RHSA-2020:0201, RHSA-2020:0230) oraz aktualizacja dla openSUSE. Należy zastosować patche dostępne u producenta zgodnie z referencjami.

Kogo dotyczy

ReportLab w wersjach do 3.5.26 włącznie

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

    APP
    Reportlab
    ≤ 3.5.26
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
Tagi
RCE
CWE
Referencje

Powiązane podatności

CVE-2019-19450CRITICAL9.8PL ✓ten sam produkt

ReportLab paraparser — RCE przez wykonanie kodu Python w elemencie unichar

CVE-2023-33733HIGH7.8ten sam produkt

Reportlab up to v3.6.12 allows attackers to execute arbitrary code via supplying a crafted PDF file.

CVE-2020-28463MEDIUM6.5ten sam produkt

All versions of package reportlab are vulnerable to Server-side Request Forgery (SSRF) via img tags. In order ...