CRITICAL✓ PATCH🇬🇧 English

CVE-2022-48565

XXE w module plistlib języka Python — wykonanie ataku na dane XML

CVSS 9.8v3.1pub. 2023-08-22upd. 2024-11-21

W module plistlib języka Python do wersji 3.9.1 wykryto podatność typu XML External Entity (XXE), sklasyfikowaną jako krytyczna (CVSS 9.8). Błąd umożliwia atakującemu zdalne odczytanie plików systemowych, wykonanie żądań SSRF lub spowodowanie innych skutków typowych dla ataków XXE.

Pokaż oryginał (EN)

An XML External Entity (XXE) issue was discovered in Python through 3.9.1. The plistlib module no longer accepts entity declarations in XML plist files to avoid XML vulnerabilities.

🤖 Analiza AI
Jak działa

Moduł plistlib, służący do parsowania plików plist w formacie XML, akceptował deklaracje encji zewnętrznych (entity declarations) w przetwarzanych dokumentach. Atakujący mógł dostarczyć specjalnie spreparowany plik plist zawierający złośliwe odwołania do encji zewnętrznych (XXE), które były rozwiązywane przez parser XML. Prowadziło to do nieautoryzowanego odczytu zasobów lokalnych lub sieciowych dostępnych z poziomu serwera przetwarzającego plik. Podatność wynika z braku odpowiednich zabezpieczeń parsera XML przed zewnętrznymi encjami (CWE-611).

Skutki

Atakujący może uzyskać nieautoryzowany dostęp do poufnych danych (np. plików lokalnych systemu), przeprowadzić atak SSRF lub doprowadzić do naruszenia integralności i dostępności systemu — wszystko bez konieczności uwierzytelnienia.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami. Poprawka polega na wyłączeniu obsługi deklaracji encji zewnętrznych w module plistlib. Użytkownicy Debian Linux powinni zastosować aktualizacje ogłoszone w listach debian-lts-announce (wrzesień/październik 2023). Użytkownicy Fedory powinni zastosować aktualizacje wskazane w listach Fedora package-announce.

Kogo dotyczy

Python do wersji 3.9.1 (włącznie) oraz systemy Debian Linux korzystające z podatnych pakietów Python

Uwagi

Poprawka w module plistlib polega na całkowitym zaprzestaniu akceptowania deklaracji encji w plikach XML plist, co eliminuje klasę podatności XXE dla tego modułu. Szczegóły błędu dostępne w zgłoszeniu bugs.python.org/issue42051.

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
  • Python

    APP
    Python
    < 3.6.133.7.0 – 3.7.10 (bez)3.8.0 – 3.8.7 (bez)3.9.0 – 3.9.1 (bez)
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
Tagi
XXE
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