p PatchFirst

PatchFirst · Vulnerabilidades recientes

Vulnerabilidades de fickling

Vulnerabilidades publicadas para fickling en los últimos 30 días: 0. Incluidas en el catálogo KEV: 0.

Filtrar vulnerabilidades
Borrar filtros

Vulnerabilidades: 16

  1. CVE-2026-14535

    Alta · CVSS 8.8EPSS 0,56%Corrección 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

    • Actualiza a 0.1.12
    Publicación Actualización
  2. CVE-2026-14534

    Alta · CVSS 8.8EPSS 0,59%Corrección 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

    • Actualiza a 0.1.11
    Publicación Actualización
  3. GHSA-5cxw-w2xg-2m8h

    Media · CVSS 6.9Corrección 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 ```

    • Actualiza a 0.1.10
    Publicación Actualización
  4. GHSA-r48f-3986-4f9c

    Media · CVSS 6.9Corrección 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

    • Actualiza a 0.1.10
    Publicación Actualización
  5. GHSA-5hwf-rc88-82xm

    Crítica · CVSS 9.3Corrección 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

    • Actualiza a 0.1.9
    Publicación Actualización
  6. GHSA-wccx-j62j-r448

    Crítica · CVSS 9.3Corrección 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

    • Actualiza a 0.1.9
    Publicación Actualización
  7. GHSA-mhc9-48gj-9gp3

    Media · CVSS 5.3Corrección 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

    • Actualiza a 0.1.8
    Publicación Actualización
  8. GHSA-mxhj-88fx-4pcv

    Crítica · CVSS 9.4Corrección 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

    • Actualiza a 0.1.8
    Publicación Actualización
  9. GHSA-83pf-v6qq-pwmr

    Baja · CVSS 2.3Corrección 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

    • Actualiza a 0.1.8
    Publicación Actualización
  10. CVE-2026-22612

    Alta · CVSS 8.9EPSS 0,32%Corrección 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.

    • Actualiza a 0.1.7
    Publicación Actualización
  11. CVE-2026-22609

    Alta · CVSS 8.9EPSS 0,63%Corrección 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.

    • Actualiza a 0.1.7
    Publicación Actualización
  12. CVE-2026-22608

    Alta · CVSS 8.9EPSS 0,39%Corrección 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.

    • Actualiza a 0.1.7
    Publicación Actualización
  13. CVE-2026-22607

    Alta · CVSS 8.9EPSS 0,52%Corrección 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.

    • Actualiza a 0.1.7
    Publicación Actualización
  14. CVE-2026-22606

    Alta · CVSS 8.9EPSS 0,48%Corrección 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.

    • Actualiza a 0.1.7
    Publicación Actualización
  15. CVE-2025-67748

    Alta · CVSS 7.1EPSS 0,27%Corrección 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.

    • Actualiza a 0.1.6
    Publicación Actualización
  16. CVE-2025-67747

    Alta · CVSS 7.1EPSS 0,28%Corrección 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.

    • Actualiza a 0.1.6
    Publicación Actualización

Comprueba tu servidor

Compara tu pila y las versiones instaladas con las bases actuales de vulnerabilidades.

Comprueba tu servidor →