p PatchFirst

PatchFirst · Vulnérabilités récentes

Vulnérabilités de fickling

Vulnérabilité publiée pour fickling au cours des 30 derniers jours : 0. Dans le catalogue KEV : 0.

Filtrer les vulnérabilités
Effacer les filtres

Vulnérabilités : 16

  1. CVE-2026-14535

    Élevée · CVSS 8.8EPSS 0,56%Correctif disponible

    Fickling MLAllowlist analysis pass rendered inoperative by shared mutable state in AnalysisContext.shorten_code()

    In Trail of Bits fickling versions up to and including 0.1.11, the UnsafeImportsML analysis pass unconditionally calls AnalysisContext.shorten_code(node) on every import node it inspects, regardless of whether the import is flagged as unsafe. This call registers the shortened code representation in the shared AnalysisContext.reported_shortened_code set. When the MLAllowlist analysis pass subsequently runs, it calls the same shorten_code() method, receives already_reported=True for every import, and executes a continue statement that skips its allowlist check entirely. This renders MLAllowlist dead code for all imports — it never evaluates whe

    • Mettez à jour vers 0.1.12
    Publication Mise à jour
  2. CVE-2026-14534

    Élevée · CVSS 8.8EPSS 0,59%Correctif disponible

    Fickling check_safety() bypass via unlisted standard library modules (_posixsubprocess, site, atexit)

    Trail of Bits fickling versions up to and including 0.1.10 do not include the Python standard library modules _posixsubprocess, site, and atexit in the UNSAFE_IMPORTS denylist (fickle.py). Because these modules are absent from the denylist, fickling's check_safety() function returns LIKELY_SAFE with zero findings for pickle payloads that invoke dangerous functions including _posixsubprocess.fork_exec (C-level process spawner capable of executing arbitrary binaries), site.execsitecustomize (executes arbitrary site customization code), and atexit._run_exitfuncs (triggers all registered exit handler callbacks). The fickling.load() API chains che

    • Mettez à jour vers 0.1.11
    Publication Mise à jour
  3. GHSA-5cxw-w2xg-2m8h

    Moyenne · CVSS 6.9Correctif disponible

    fickling's `platform` module subprocess invocation evades `check_safety()` with `LIKELY_SAFE`

    # Our assessment We added `platform` to the blocklist of unsafe modules (https://github.com/trailofbits/fickling/commit/351ed4d4242b447c0ffd550bb66b40695f3f9975). It was not possible to inject extra arguments to `file` without first monkey-patching `platform._follow_symlinks` with the pickle, as it always returns an absolute path. We independently hardened it with https://github.com/trailofbits/fickling/commit/b9e690c5a57ee9cd341de947fc6151959f4ae359 to reduce the risk of obtaining direct module references while evading detection. https://github.com/python/cpython/blob/6d1e9ceed3e70ebc39953f5ad4f20702ffa32119/Lib/platform.py#L687-L695 ```

    • Mettez à jour vers 0.1.10
    Publication Mise à jour
  4. GHSA-r48f-3986-4f9c

    Moyenne · CVSS 6.9Correctif disponible

    fickling modules linecache, difflib and gc are missing from the unsafe modules blocklist

    # Our analysis As stated in the [project's security policy](https://github.com/trailofbits/fickling/security/policy), we also don't consider `UnusedVariables` bypasses to be security issues. We added several unsafe modules mentioned by the reporter in advisory comments to the blocklist (https://github.com/trailofbits/fickling/commit/7f39d97258217ee2c21a1f5031d4a6d7343eb30d). # Original report Title: UnusedVariables analysis bypass via BUILD opcode Arbitrary File Read through fickling.load() ### Summary Two independent bugs in fickling's AST-based static analysis combine to allow a malicious pickle file to execute arbitrary stdlib functio

    • Mettez à jour vers 0.1.10
    Publication Mise à jour
  5. GHSA-5hwf-rc88-82xm

    Critique · CVSS 9.3Correctif disponible

    Fickling missing RCE-capable modules in UNSAFE_IMPORTS

    # Assessment The modules `uuid`, `_osx_support` and `_aix_support` were added to the blocklist of unsafe imports (https://github.com/trailofbits/fickling/commit/ffac3479dbb97a7a1592d85991888562d34dd05b). # Original report ## Summary fickling's `UNSAFE_IMPORTS` blocklist is missing at least 3 stdlib modules that provide direct arbitrary command execution: `uuid`, `_osx_support`, and `_aix_support`. These modules contain functions that internally call `subprocess.Popen()` or `os.system()` with attacker-controlled arguments. A malicious pickle file importing these modules passes both `UnsafeImports` and `NonStandardImports` checks. ## Affe

    • Mettez à jour vers 0.1.9
    Publication Mise à jour
  6. GHSA-wccx-j62j-r448

    Critique · CVSS 9.3Correctif disponible

    Fickling has `always_check_safety()` bypass: pickle.loads and _pickle.loads remain unhooked

    # Assessment The missing pickle entrypoints `pickle.loads`, `_pickle.loads`, and `_pickle.load` were added to the hook https://github.com/trailofbits/fickling/commit/8c24c6edabceab156cfd41f4d70b650e1cdad1f7. # Original report ## Summary `fickling.always_check_safety()` does not hook all pickle entry points. `pickle.loads`, `_pickle.loads`, and `_pickle.load` remain unprotected, enabling malicious payload execution despite global safety mode being enabled. ## Affected versions `<= 0.1.8` (verified on current upstream HEAD as of 2026-03-03) ## Non-duplication check against published Fickling GHSAs No published advisory covers hook-coverage

    • Mettez à jour vers 0.1.9
    Publication Mise à jour
  7. GHSA-mhc9-48gj-9gp3

    Moyenne · CVSS 5.3Correctif disponible

    Fickling has safety check bypass via REDUCE+BUILD opcode sequence

    # Assessment It is believed that the analysis pass works as intended, `REDUCE` and `BUILD` are not at fault here. The few potentially unsafe modules have been added to the blocklist (https://github.com/trailofbits/fickling/commit/0c4558d950daf70e134090573450ddcedaf10400). # Original report ### Summary All 5 of fickling's safety interfaces — `is_likely_safe()`, `check_safety()`, CLI `--check-safety`, `always_check_safety()`, and the `check_safety()` context manager — report `LIKELY_SAFE` / raise no exceptions for pickle files that call dangerous top-level stdlib functions (signal handlers, network servers, network connections, file operatio

    • Mettez à jour vers 0.1.8
    Publication Mise à jour
  8. GHSA-mxhj-88fx-4pcv

    Critique · CVSS 9.4Correctif disponible

    Fickling: OBJ opcode call invisibility bypasses all safety checks

    # Assessment The interpreter so it behaves closer to CPython when dealing with `OBJ`, `NEWOBJ`, and `NEWOBJ_EX` opcodes (https://github.com/trailofbits/fickling/commit/ff423dade2bb1f72b2b48586c022fac40cbd9a4a). # Original report ## Summary All 5 of fickling's safety interfaces -- `is_likely_safe()`, `check_safety()`, CLI `--check-safety`, `always_check_safety()`, and the `check_safety()` context manager -- report `LIKELY_SAFE` / raise no exceptions for pickle files that use the OBJ opcode to call dangerous stdlib functions (signal handlers, network servers, network connections, file operations). The OBJ opcode's implementation in fickling

    • Mettez à jour vers 0.1.8
    Publication Mise à jour
  9. GHSA-83pf-v6qq-pwmr

    Faible · CVSS 2.3Correctif disponible

    Fickling has a detection bypass via stdlib network-protocol constructors

    # Our assessment `imtplib`, `imaplib`, `ftplib`, `poplib`, `telnetlib`, and `nntplib` were added to the list of unsafe imports (https://github.com/trailofbits/fickling/commit/6d20564d23acf14b42ec883908aed159be7b9ade). The `UnusedVariables` heuristic works as expected. # Original report ## Summary Fickling's `check_safety()` API and `--check-safety` CLI flag incorrectly rate as `LIKELY_SAFE` pickle files that open outbound TCP connections at deserialization time using stdlib network-protocol constructors: `smtplib.SMTP`, `imaplib.IMAP4`, `ftplib.FTP`, `poplib.POP3`, `telnetlib.Telnet`, and `nntplib.NNTP`. The bypass exploits two independ

    • Mettez à jour vers 0.1.8
    Publication Mise à jour
  10. CVE-2026-22612

    Élevée · CVSS 8.9EPSS 0,32%Correctif disponible

    Fickling vulnerable to detection bypass due to "builtins" blindness

    Fickling is a Python pickling decompiler and static analyzer. Prior to version 0.1.7, Fickling is vulnerable to detection bypass due to "builtins" blindness. This issue has been patched in version 0.1.7.

    • Mettez à jour vers 0.1.7
    Publication Mise à jour
  11. CVE-2026-22609

    Élevée · CVSS 8.9EPSS 0,63%Correctif disponible

    Fickling has Static Analysis Bypass via Incomplete Dangerous Module Blocklist

    Fickling is a Python pickling decompiler and static analyzer. Prior to version 0.1.7, the unsafe_imports() method in Fickling's static analyzer fails to flag several high-risk Python modules that can be used for arbitrary code execution. Malicious pickles importing these modules will not be detected as unsafe, allowing attackers to bypass Fickling's primary static safety checks. This issue has been patched in version 0.1.7.

    • Mettez à jour vers 0.1.7
    Publication Mise à jour
  12. CVE-2026-22608

    Élevée · CVSS 8.9EPSS 0,39%Correctif disponible

    Fickling vulnerable to use of ctypes and pydoc gadget chain to bypass detection

    Fickling is a Python pickling decompiler and static analyzer. Prior to version 0.1.7, both ctypes and pydoc modules aren't explicitly blocked. Even other existing pickle scanning tools (like picklescan) do not block pydoc.locate. Chaining these two together can achieve RCE while the scanner still reports the file as LIKELY_SAFE. This issue has been patched in version 0.1.7.

    • Mettez à jour vers 0.1.7
    Publication Mise à jour
  13. CVE-2026-22607

    Élevée · CVSS 8.9EPSS 0,52%Correctif disponible

    Fickling Blocklist Bypass: cProfile.run()

    Fickling is a Python pickling decompiler and static analyzer. Fickling versions up to and including 0.1.6 do not treat Python's cProfile module as unsafe. Because of this, a malicious pickle that uses cProfile.run() is classified as SUSPICIOUS instead of OVERTLY_MALICIOUS. If a user relies on Fickling's output to decide whether a pickle is safe to deserialize, this misclassification can lead them to execute attacker-controlled code on their system. This affects any workflow or product that uses Fickling as a security gate for pickle deserialization. This issue has been patched in version 0.1.7.

    • Mettez à jour vers 0.1.7
    Publication Mise à jour
  14. CVE-2026-22606

    Élevée · CVSS 8.9EPSS 0,48%Correctif disponible

    Fickling has a bypass via runpy.run_path() and runpy.run_module()

    Fickling is a Python pickling decompiler and static analyzer. Fickling versions up to and including 0.1.6 do not treat Python’s runpy module as unsafe. Because of this, a malicious pickle that uses runpy.run_path() or runpy.run_module() is classified as SUSPICIOUS instead of OVERTLY_MALICIOUS. If a user relies on Fickling’s output to decide whether a pickle is safe to deserialize, this misclassification can lead them to execute attacker-controlled code on their system. This affects any workflow or product that uses Fickling as a security gate for pickle deserialization. This issue has been patched in version 0.1.7.

    • Mettez à jour vers 0.1.7
    Publication Mise à jour
  15. CVE-2025-67748

    Élevée · CVSS 7.1EPSS 0,27%Correctif disponible

    Fickling has Code Injection vulnerability via pty.spawn()

    Fickling is a Python pickling decompiler and static analyzer. Versions prior to 0.1.6 had a bypass caused by `pty` missing from the block list of unsafe module imports. This led to unsafe pickles based on `pty.spawn()` being incorrectly flagged as `LIKELY_SAFE`, and was fixed in version 0.1.6. This impacted any user or system that used Fickling to vet pickle files for security issues.

    • Mettez à jour vers 0.1.6
    Publication Mise à jour
  16. CVE-2025-67747

    Élevée · CVSS 7.1EPSS 0,28%Correctif disponible

    Fickling has missing detection for marshal.loads and types.FunctionType in unsafe modules list

    Fickling is a Python pickling decompiler and static analyzer. Versions prior to 0.1.6 are missing `marshal` and `types` from the block list of unsafe module imports. Fickling started blocking both modules to address this issue. This allows an attacker to craft a malicious pickle file that can bypass fickling since it misses detections for `types.FunctionType` and `marshal.loads`. A user who deserializes such a file, believing it to be safe, would inadvertently execute arbitrary code on their system. This impacts any user or system that uses Fickling to vet pickle files for security issues. The issue was fixed in version 0.1.6.

    • Mettez à jour vers 0.1.6
    Publication Mise à jour

Vérifiez votre serveur

Comparez votre pile et les versions installées aux bases de vulnérabilités actuelles.

Vérifiez votre serveur →