CVE-2026-118938
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W wersji Trail of Bits zmieniającej się do wersji 0.1.12 operand pickle STACK_GLOBAL zawierający __qualname__ z kropkami (na przykład „Values.read_file”) jest rozpoznawany przez find_class przez _getattribute pikle do dowolnej ścieżki atrybutu, a nie do funkcji na poziomie modułu. Fickling rejestruje tylko wiodący składnik nazwy w śledzeniu importu i renderuje operację jako zwykły import (na przykład polecenie „python -m fickling” wyświetla ją jako „z optparse import Values.read_file”), więc końcowe odwołanie do atrybutu nigdy nie jest analizowane jako wywołanie. Przebieg analizy OvertlyBadEvals nie oznacza tego, a funkcja check_safety() zwraca LIKELY_SAFE z zerowymi wynikami. Umożliwia to atakującemu dotarcie do metody klasy, która wykonuje kod: optparse.Values.read_file wykonuje exec(open(nazwa pliku).read(), vars), uzyskując wykonanie dowolnego kodu po załadowaniu spreparowanej marynaty za pomocą fickling.load(), która łączy check_safety() z pickle.loads() jako wyraźną bramę bezpieczeństwa. optparse jest obecny we wszystkich bieżących wydaniach CPython 3.x (przestarzały w Pythonie 3.13, nie usunięty). Ta słabość polega na rozpoznawaniu i analizie nazw ścieżek atrybutów z kropkami i różni się od słabości zaufania źródła modułu śledzonej jako CVE-2026-16760 i można ją niezależnie naprawić: rozwiązywanie lub oznaczanie importów ścieżek atrybutów z kropkami zamyka ten wektor, pozostawiając zachowanie zaufania na poziomie modułu bez zmian. Potwierdzono, że to obejście pozostaje obecne w gałęzi głównej dostawcy w momencie zatwierdzenia d011709 z dnia 30.10.2026 r., po dodaniu przez dostawcę listy blokowanych w październiku i nowej heurystyce oznaczającej prywatne atrybuty stdlib; ponieważ metoda klasy publicznej Values.read_file nie znajduje się na liście zablokowanych ani nie jest oznaczona jako atrybut prywatny, te środki zaradcze nie uwzględniają jej.
>_ Słabości (CWE)
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org