Biblioteka ipaddress w Python przed wersją 3.9.5 nieprawidłowo przetwarza oktety adresów IP zawierające wiodące zera. W określonych sytuacjach umożliwia to atakującym ominięcie mechanizmów kontroli dostępu opartych na adresach IP.
▸ Pokaż oryginał (EN)
In Python before 3,9,5, the ipaddress library mishandles leading zero characters in the octets of an IP address string. This (in some situations) allows attackers to bypass access control that is based on IP addresses.
Podatność polega na tym, że biblioteka ipaddress nie odrzuca ani nie normalizuje adresów IP, w których oktety zawierają wiodące znaki zero (np. '010.0.0.1'). Niektóre systemy interpretują takie zapisy jako adresy ósemkowe (oktalowe), podczas gdy biblioteka Pythona traktuje je inaczej. Rozbieżność w interpretacji pozwala na skonstruowanie adresu IP, który dla walidatora opartego na bibliotece ipaddress wygląda jak inny adres niż dla docelowego systemu lub usługi, co skutkuje obejściem reguł dostępu.
Atakujący może ominąć kontrolę dostępu opartą na adresach IP, uzyskując nieautoryzowany dostęp do chronionych zasobów lub usług, co może prowadzić do naruszenia poufności, integralności i dostępności danych.
Należy zaktualizować Python do wersji 3.9.5 lub nowszej. Użytkownicy produktów Oracle powinni zastosować patche dostępne u producenta zgodnie z referencjami.
Python przed wersją 3.9.5, a także produkty Oracle: Communications Cloud Native Core Automated Test Suite, Communications Cloud Native Core Binding Support Function, Communications Cloud Native Core Network Slice Selection Function (wersje wskazane w referencjach producenta).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HOracle Communications Cloud Native Core Automated Test Suite
APPOracle1.8.0Oracle Communications Cloud Native Core Binding Support Function
APPOracle1.11.0Oracle Communications Cloud Native Core Network Slice Selection Function
APPOracle1.8.0Oracle Graalvm
APPOracle20.3.221.1.0Oracle Zfs Storage Appliance Kit
APPOracle8.8Python
APPPython3.9.0 – 3.9.5 (bez)3.8.0 – 3.8.12 (bez)
Powiązane podatności
Spring4Shell — RCE przez data binding w Spring MVC/WebFlux na JDK 9+
RCE w Spring Cloud Function poprzez złośliwy SpEL routing-expression
RCE poprzez code injection w VMware Spring Cloud Gateway (Actuator endpoint)
SSRF w mod_proxy Apache HTTP Server — przekierowanie żądań przez atakującego
Jenkins CLI — nieuwierzytelnione RCE przez deserializację SignedObject