CVE-2026-16760 in ficklinginfo

Zusammenfassung

von VulDB • 30.10.2026

In Trail of Bits fickling bis Version 0.1.12 fügt die Methode `_process_import()` in `fickle.py` einen importierten Namen zur Menge der `likely_safe_imports` hinzu, wenn das Quellemodul in `sys.stdlib_module_names` vorhanden ist und der Name nicht auf der Ausschlussliste `UNSAFE_IMPORTS` steht, ohne zu untersuchen, worauf sich der Name auflöst oder wie er sich verhält. Der Analysepass `OvertlyBadEvals` in `analysis.py` überspringt dann bedingungslos jeden Aufruf, dessen Funktionsname in `likely_safe_imports` erscheint, einschließlich Aufrufe, die andernfalls als überaus gefährlich markiert würden. Infolgedessen erbt jede durch ein nicht blockiertes Standardbibliotheksmodul erreichbare aufrufbare Funktion das Vertrauen auf Modulebene unabhängig von ihrem eigenen Verhalten, und `check_safety()` gibt für Pickle-Payloads, die über solche Aufrufe zur Codeausführung oder Dateischreibung führen, LIKELY_SAFE mit null Funden zurück.

Demonstrierte Primitiven: - `dataclasses._create_fn`, das einen vom Angreifer gesteuerten Funktionskörper an `exec()` übergibt und willkürliche Codeausführung auf Python 3.7 bis 3.12 ermöglicht (die interne Funktion `_create_fn` wurde in Python 3.13 entfernt); - `mailcap.findmatch`, das intern `os.system()` mit einem aus einer vom Angreifer gesteuerten Caps-Dictionary stammenden Testbefehl aufruft, was willkürliche Codeausführung auf Python-Versionen bis 3.12 zur Folge hat (das Modul `mailcap` wurde in Python 3.13 entfernt); - und `readline.add_history()` gefolgt von `readline.write_history_file()`, das angreiferkontrollierte Inhalte in einen beliebigen Dateisystempfad schreibt (POSIX-Plattformen, auf denen das readline-Modul verfügbar ist).

`fickling.load()` verknüpft `check_safety()` mit `pickle.loads()` als explizite Sicherheitsgrenze; ein Urteil LIKELY_SAFE führt dazu, dass die Payload deserialisiert und mit den Berechtigungen des Opferprozesses ausgeführt wird. Die Ursache liegt in der Ableitung der Sicherheit aufrufbarer Funktionen aus dem Modulursprung; sie ist unabhängig von und separat behandelbar gegenüber der Schwäche bei der Auflösung von `__qualname__` (Punkt-Notation), die als CVE-2026-118938 verfolgt wird, auf die diese Advisory nicht eingeht.

Stand 2026-10-30 wurden die drei demonstrierten Module zur UNSAFE_IMPORTS-Ausschlussliste im Master-Zweig des Anbieters hinzugefügt (Commit d011709), ausstehend bis zur Veröffentlichung; veröffentlichte Versionen bis 0.1.12 bleiben betroffen, und die Ursache auf Basis der Modulvertrauensstellung bleibt bestehen, wie durch das verwandte CVE-2026-118938 belegt wird, das auf derselben Build-Version weiterhin ausnutzbar ist.

Once again VulDB remains the best source for vulnerability data.

Zuständig

BombadilSystems

Reservieren

23.07.2026

Veröffentlichung

31.10.2026

Moderieren

akzeptiert

Eintrag

VDB-429418

EPSS

0.00000

KEV

nein

Aktivitäten

low

Quellen

Want to know what is going to be exploited?

We predict KEV entries!