Python
Python has become one of the most widely used languages in cybersecurity — from writing exploit scripts and automation tools to building security scanners and processing large datasets. Its readability, extensive standard library, and rich ecosystem of security-focused packages make it the go-to language for security professionals.
In application security, Python appears on both sides: as the language used to build web applications (Django, Flask, FastAPI) and as the primary tool for testing them. Common Python security concerns include unsafe deserialization with pickle, command injection through os.system() and subprocess, SSTI in Jinja2 templates, path traversal in file operations, and SSRF in HTTP libraries like requests.
For offensive security, Python powers many essential tools — from Burp extensions and custom fuzzers to reverse shells and exploit proof-of-concepts. Libraries like pwntools, scapy, and impacket are staples in penetration testing. For defensive security, Python is used to build SIEM integrations, log analyzers, and automated incident response workflows.
This page collects Python security resources covering both secure coding practices for Python applications and Python-based security tooling for offensive and defensive work.
python.org
Python sits on both sides of this library
Two distinct bodies of work end up under this tag, and it helps to know which one you are reading. The first is Python as the language security work is written in: request handling, parsing, concurrency, and the small details that separate a script that works once from a tool you can point at a thousand hosts. The second is Python as an attack surface — the features and libraries that introduce vulnerabilities into applications written in it.
On the second: Python's dangerous edges are mostly about evaluation and
deserialization. pickle executes code by design, which makes any
pickle from an untrusted source equivalent to remote code execution, and it
still turns up in caches, session stores and message queues.
eval and exec need no explanation;
yaml.load without a safe loader is the same bug wearing a
configuration file. Format-string and f-string constructs that touch attacker
input can reach object internals. Subprocess calls with
shell=True are command injection whenever the argument is not
fully controlled. Jinja2 SSTI is common enough that it has its own topic on
this site, and the escape chains there run through exactly these primitives.
Packaging deserves its own attention. Installing a package runs its build code, dependency confusion against internal index names is a live technique rather than a theoretical one, and typosquatted names on PyPI are a recurring event. If you write Python tooling, pinning and hash-checking your own dependencies is security work, not hygiene theatre.
For tool building, the material here leans practical: async and threading
for scanning at scale, working with requests and raw sockets when
you need control over what goes on the wire, parsing hostile input without
crashing, and building Burp extensions or standalone utilities that fit an
existing workflow. If you are new, start with the tooling pieces — writing a
small scanner teaches the protocol details faster than reading about them.
| Date Added | Link | Excerpt |
|---|---|---|
| 2026-11-09 NEW 2026 | CVE-2026-114615: Authlib JWT algorithm confusion fix bypass intermediate AuthN JWT | Authlib's fix for CVE-2026-114615, which addressed JWT algorithm confusion, was bypassed. The original patch only verified if a key began with "-----BEGIN", failing to account for a leading newline character. This allowed attackers to circumvent the security measure. The vulnerability has a CVSS score of 7.4 and has been resolved in version 1.9.0 of Authlib. |
| 2026-11-09 NEW 2026 | joserfc OctKey accepts DER RSA public keys as HMAC secrets (HS256 forgery) intermediate AuthN JWT | A vulnerability in joserfc's OctKey implementation allowed DER RSA public keys to be accepted as HMAC secrets. This could enable HS256 forgery if an application imports asymmetric public key material into a context expecting symmetric keys. The maintainer confirmed the issue. |
| 2026-11-09 NEW 2026 | gcp-log-poc PyPI supply chain attack: env exfiltration and how to check news Secrets Supply Chain | A supply chain attack was discovered affecting `gcp-log-poc` versions 0.0.1 through 0.0.3 on PyPI. Upon installation and import, these malicious packages exfiltrated all environment variables to a Google Cloud log. The post provides indicators of compromise and instructions on how to check if your system has been affected by this vulnerability. |
| 2026-11-09 NEW 2026 | Malicious code in reqnest (PyPI typosquat) news Supply Chain | A malicious package named "reqnest" was discovered on the Python Package Index (PyPI). This package is a typosquat of the legitimate "requests" library, a common tactic to trick developers into installing harmful code. The "reqnest" package was designed to steal sensitive information, including environment variables, which could compromise user credentials and other confidential data. Researchers identified and removed the malicious package, urging developers to exercise caution and verify package names to prevent such attacks. |
| 2026-11-09 NEW 2026 | ctfr-reloaded: certificate transparency subdomain discovery beginner OSINT Recon | `ctfr-reloaded` is a free tool for subdomain discovery that leverages Certificate Transparency logs. Unlike many other subdomain discovery tools, it does not require any API keys, offering a completely free and accessible solution. This eliminates the need for users to obtain and manage API credentials for services like Google Cloud or VirusTotal, simplifying the process of finding subdomains. |
| 2026-11-09 NEW 2026 | Insecure deserialization in Java, .NET, PHP, Python and Node.js intermediate Deser RCE | This content focuses on exploiting insecure deserialization vulnerabilities across various programming languages: Java, .NET, PHP, Python, and Node.js. It highlights methods to identify serialized data by its initial bytes and demonstrates how to achieve Remote Code Execution (RCE) using popular tools like ysoserial, ysoserial.net, phpggc, and pickle. The emphasis is on understanding gadget chains to leverage these vulnerabilities. |
| 2026-11-09 NEW 2026 | grizzly for modular cross-platform browser fuzzing beginner Fuzzing | This content is an excerpt from the OffSec Blog, which serves as a technical security tooling radar. It focuses on resources and information relevant to offensive security, bug bounty hunting, digital forensics and incident response (DFIR), reverse engineering, malware analysis, and hacker operating systems. The blog aims to guide users on the latest tools and techniques in these specialized cybersecurity fields. → offsecblog.com |
| 2026-11-09 NEW 2026 | LMDeploy CVE-2026-119706: unauthenticated RCE via pickle deserialization news AI Deser RCE | CVE-2026-119706 is a critical unauthenticated remote code execution vulnerability in InternLM LMDeploy. The flaw stems from unsafe pickle deserialization within the `/update_weights` endpoint, allowing attackers to execute arbitrary code. The content discusses proof-of-concept details, analyzes a proposed patch to fix the vulnerability, and provides guidance for detection. → zeropath.com |
| 2026-11-09 NEW 2026 | Unauthenticated SSTI in LMFDB leads to RCE intermediate RCE SSTI | LMFDB has a critical Server-Side Template Injection (SSTI) vulnerability in its knowledge rendering pipeline. This allows unauthenticated attackers to inject malicious code into `flask.render_template_string()` without proper sanitization. The vulnerability enables Remote Code Execution (RCE), posing a significant security risk. Further details are available in the content. |
| 2026-11-08 NEW 2026 | python-jose authentication bypass through 3.5.0 intermediate AuthN JWT | Library vulnerability allowing authentication bypass in python-jose through version 3.5.0. Attackers can forge JWTs by exploiting the acceptance of zero-length HMAC secrets by HMACKey and CryptographyHMACKey. This enables the creation of tokens with arbitrary claims when an application's HS256/HS384/HS512 verification key is empty, as seen with an empty oct JWK k. |
| 2026-11-08 NEW 2026 | PyJWT accepts public JWK containers as HMAC secrets intermediate 2 min read AuthN JWT | Library advisory detailing GHSA-w2cx-738m-mc7w for PyJWT, an incomplete defense against algorithm confusion allowing public JWK containers to be accepted as HMAC secrets. This vulnerability impacts applications that mix symmetric and asymmetric algorithms while passing raw public JWK/JWKS JSON as a key for HMAC signing. The fix, present in PyJWT 2.14.0, now rejects public JWK members within containers for HMAC keys, preventing forged JWT claims. |
| 2026-11-08 NEW 2026 | PyJWT public-key JWK accepted as HMAC secret enables forged HS256 tokens intermediate 2 min read AuthN JWT | Advisory detailing CVE-GHSA-xgmm-8j9v-c9wx in PyJWT, where accepting a public-key JWK as an HMAC secret allows forged HS256 tokens. This vulnerability enables attackers to impersonate users by using the issuer's public key as the shared secret for HMAC signature verification, particularly when the verifier supports mixed symmetric and asymmetric algorithms and improperly handles JWK formats. Exploitation requires a misconfigured verifier, as documented usage deviates from this dangerous practice. |
| 2026-11-08 NEW 2026 | IBM: arbitrary code execution in Qiskit SDK QPY deserialization intermediate 2 min read AI Deser RCE | Bulletin on CVE-2026-116499, an arbitrary code execution vulnerability in IBM's Qiskit SDK. Versions prior to 13.0 of the QPY deserialization process are susceptible to specially crafted payloads that can execute embedded Python code without privilege escalation, impacting the `qiskit.qpy.load()` function. The issue is patched in Qiskit v2.6.2. → ibm.com |
| 2026-11-08 NEW 2026 | MLflow PickleEvaluationArtifact deserialization RCE intermediate AI Deser RCE | Library for detecting MLflow PickleEvaluationArtifact deserialization RCE (GHSA-88cv-457h-5c75). This vulnerability, also known as ZDI-CAN-29513, allows remote attackers to execute arbitrary code by exploiting the lack of proper validation when parsing untrusted pickle files. User interaction is required, necessitating a visit to a malicious page or opening a malicious file to trigger the deserialization flaw and gain code execution within the MLflow process. |
| 2026-11-08 NEW 2026 | MLflow SHAP load_explainer deserialization RCE news AI Deser RCE | Library for detecting and mitigating the MLflow SHAP load_explainer deserialization RCE vulnerability (GHSA-j38m-78x9-f2gg). This vulnerability allows remote attackers to execute arbitrary code on affected installations of MLflow through the deserialization of untrusted data when loading SHAP explainer models. Exploitation requires user interaction, such as visiting a malicious page or opening a malicious file, to achieve code execution in the context of the current user. |
| 2026-11-08 NEW 2026 | AWS Virtual Engineering Workbench publishing-component Jinja SSTI news 1 min read RCE SSTI | Advisory GHSA-mf9w-9v72-cqm9 details a Jinja2 server-side template injection (SSTI) vulnerability in the publishing component of AWS Virtual Engineering Workbench. An authenticated user with PRODUCT_CONTRIBUTOR role can submit a CloudFormation template containing Jinja2 expressions, leading to arbitrary code execution within the publishing Lambda function, inheriting its IAM role's permissions. This allows access to resources across all tenant projects. The vulnerability is fixed in commit c146486 by rejecting Jinja2 control sequences and sandboxing the template rendering environment. |
| 2026-11-08 NEW 2026 | Stanza RCE via pickle deserialization in the lemmatizer news 2 min read AI Deser RCE | Library for securing the Stanza NLP library, addressing Stanza RCE via pickle deserialization in its lemmatizer component (GHSA-gh9r-c94j-cmp5). This vulnerability occurs when loading an attacker-supplied lemma checkpoint (.pt file), allowing arbitrary code execution as the loading user due to an unrestricted `pickle.loads()` call within `Trainer.load`. The fix involves using the existing `RestrictedUnpickler` to deserialize the internal data, preventing malicious payloads like `os.system`. |
| 2026-11-08 NEW 2026 | labbench before 0.46.1 unsafe pickle deserialization in read() news Deser RCE | Vulnerability GHSA-4ppf-9g5f-q8hv affects labbench before version 0.46.1, stemming from unsafe pickle deserialization in the `read()` and `read_relational()` functions. The library loads files with `.p` or `.pickle` extensions using `pandas.read_pickle` solely based on the file extension. Attackers can craft malicious data files or archives, leading to arbitrary code execution when loaded by users. This issue is also tracked as CVE-2026-120833. |
| 2026-11-07 NEW 2026 | DEF CON 34: Unveiling Python Class Pollution in the Wild intermediate RCE Talks | At DEF CON 34, researchers demonstrated "Python Class Pollution," a vulnerability where attackers can manipulate Python object attributes in deployed applications. This technique allows malicious code to be injected and executed by altering class definitions or instances, potentially leading to unauthorized access or control. The vulnerability highlights the risks associated with improperly secured code execution environments and the dynamic nature of Python. The presentation emphasized the need for robust input validation and secure coding practices to mitigate such attacks. → media.defcon.org |
| 2026-11-07 NEW 2026 | DataGerry Jinja2 SSTI to RCE (CVE-2026-57853) news RCE SSTI | Library for detecting and mitigating Server-Side Template Injection (SSTI) to Remote Code Execution (RCE) vulnerabilities, exemplified by GHSA-j937-qw2q-vm46 affecting DataGerry prior to version 3.3.0. This vulnerability allows authenticated users with specific permissions to inject Jinja2 payloads into the `template_data` field, leading to arbitrary OS command execution by leveraging the `cycler.init.globals.os` gadget chain within a non-sandboxed Jinja2 environment. |
| 2026-11-07 NEW 2026 | LMFDB unauthenticated Jinja SSTI (CVE-2026-123198) news RCE SSTI | Advisory for CVE-2026-123198 detailing an unauthenticated Server-Side Template Injection in LMFDB. The vulnerability, found in the `knowledge_render_id` function before commit 01829bd, allows attackers to inject Jinja expressions through request parameters or 'content' data to the `/knowledge/render/<ID>` endpoint. This enables the execution of arbitrary operating system commands. → vulncheck.com |
| 2026-11-07 NEW 2026 | reconflow: recon workflow tool beginner 6 min read Recon | Tool for reconnaissance orchestration, `reconflow` automates and tracks changes between scans for bug bounty hunters. It integrates tools like `subfinder`, `httpx`, `katana`, and `nuclei` into a safe pipeline, enforces program scope, and records target state in SQLite. `reconflow` highlights new subdomains, live hosts, open ports, endpoints, and vulnerability findings, offering actionable lead hints and generating reports in Markdown, CSV, JSON, and SARIF v2.1.0. |
| 2026-11-07 NEW 2026 | ZDI-26-850 Microsoft Qlib MLflowRecorder deserialization RCE news AI Deser RCE | Advisory for ZDI-26-850 detailing a Microsoft Qlib MLflowRecorder deserialization of untrusted data remote code execution vulnerability. This flaw, fixed in v0.9.8, allows remote attackers to execute arbitrary code by tricking a user into visiting a malicious page or opening a malicious file. The vulnerability stems from improper validation of user-supplied data during deserialization within the MLflowRecorder class, enabling code execution in the user's context. → zerodayinitiative.com |
| 2026-11-07 NEW 2026 | Stanza RCE via pickle deserialization in the lemmatizer intermediate 3 min read AI Deser RCE | Library vulnerability detailing CVE-2026-115878 in the Stanza lemmatizer, where loading a crafted checkpoint executes arbitrary code. The issue stems from an unrestricted `pickle.loads` call within `Trainer.load` on gzipped data, bypassed by `torch.load(weights_only=True)`. A fix involves using the project's `RestrictedUnpickler` to deserialize the inner stream, preventing malicious payloads like `os.system` from executing during pipeline construction. → advisories.gitlab.com |
| 2026-11-07 NEW 2026 | graphql-core unbounded memory growth (CVE-2026-119286) news 1 min read GraphQL | Writeup of CVE-2026-119286 detailing unbounded memory growth in `graphql-core`'s `validate` function. The vulnerability arises from a shared `ValidationAbortedError` instance accumulating traceback frames on repeated validation errors, leading to significant memory bloat as demonstrated by a proof-of-concept test. Affected versions are below 3.3.1; upgrading is recommended to mitigate this issue. → security.snyk.io |
| 2026-11-06 NEW 2026 | RELATE LMS RCE via insecure Celery pickle deserialization intermediate 2 min read Deser RCE | Library advisory details Remote Code Execution (RCE) in RELATE LMS through insecure Celery pickle deserialization. Exploiting Celery's acceptance of pickle format and a lack of network isolation in code execution sandboxes allows authenticated students to submit crafted payloads to the message broker, resulting in arbitrary command execution on the host server. |
| 2026-11-06 NEW 2026 | DocsGPT unauthenticated RCE via FAISS pickle deserialization intermediate 2 min read AI Deser RCE | Advisory detailing GHSA-m448-vp23-j393, an unauthenticated RCE vulnerability in DocsGPT. The flaw arises from a combination of a fail-open authentication bypass in the `/api/upload_index` endpoint and unsafe deserialization via FAISS's `load_local` with `allow_dangerous_deserialization=True`, allowing attackers to upload malicious pickle files and execute arbitrary commands on the server. |
| 2026-11-06 NEW 2026 | PyJWT 2.14/2.15: algorithm confusion advisories explained intermediate 4 min read AuthN JWT | Library advisories detail 14 CVEs affecting PyJWT, primarily focused on algorithm confusion where public keys are mistakenly used as HMAC secrets. Vulnerabilities like CVE-2026-101918 and CVE-2026-102275 arise when the `algorithms` allow-list mixes HMAC and asymmetric types, or when keys are passed as raw material. Upgrading to PyJWT 2.15.0 and carefully configuring algorithm lists and key management are crucial mitigation steps. |
| 2026-11-06 NEW 2026 | SUSE security update for python-PyJWT news 2 min read JWT | Update for python-PyJWT addressing multiple CVEs, including CVE-2026-101917 and CVE-2026-102267. This security update resolves vulnerabilities related to request amplification, unauthenticated exceptions, credential disclosure, token forgery, revocation check failures, CPU consumption, and verification bypass on SUSE Linux Micro 6.1. |
| 2026-11-06 NEW 2026 | numcodecs Pickle codec arbitrary code execution on decode intermediate 2 min read Deser RCE | Library vulnerability: arbitrary code execution via Pickle codec. The `numcodecs.pickles.Pickle` codec decodes data by calling `pickle.loads` on input. Maliciously crafted array metadata and chunk bytes can cause arbitrary code execution when a victim reads the array, as the `Pickle` codec is registered by default and its decoding process is controlled by attacker-influenced data. |
| 2026-11-06 NEW 2026 | Xoscar unauthenticated cloudpickle RCE (CVE-2026-49950) intermediate AI Deser RCE | Writeup of CVE-2026-49950, an unauthenticated remote code execution vulnerability in Xorbits Xoscar. Versions up to 0.11.2 are affected, allowing attackers to exploit SocketChannel.recv() and unvalidated data passed to cloudpickle.loads() via the actor-pool TCP channel. This bypasses message validation, enabling pickle reduce gadget execution and arbitrary code execution as the server process, potentially on GPU nodes running as root. |
| 2026-11-06 NEW 2026 | fsspec ReferenceFileSystem SSTI to RCE (CVE-2026-104851) intermediate 3 min read RCE SSTI | Library implementing fsspec.implementations.reference.ReferenceFileSystem, vulnerable to Server-Side Template Injection (SSTI) leading to Remote Code Execution (RCE) via CVE-2026-104851. The vulnerability arises from un-sandboxed Jinja2 template rendering within the ReferenceFileSystem parser, allowing attackers who control the "references" JSON document to execute arbitrary Python code before data is read. This mirrors the pattern seen in CVE-2024-34359 affecting llama-cpp-python. Affected versions include all fsspec versions from 0.9.0 onward. |
| 2026-11-06 NEW 2026 | Trestle Jinja2 include SSTI incomplete fix (CVE-2026-57170) news 4 min read RCE SSTI | Library advisory detailing CVE-2026-57170, an incomplete fix for a Jinja2 Server-Side Template Injection vulnerability in Trestle. This vulnerability allows arbitrary code execution by exploiting the custom include tags (`MDSectionInclude`, `MDCleanInclude`) which re-parse markdown content as a Jinja2 template in a non-sandboxed environment. This bypasses the intended neutralization of attacker-controlled OSCAL data. Affected versions include 4.0.3 and earlier. Remediation involves sandboxing the environment, preventing template re-parsing, or extending delimiter neutralization to all relevant OSCAL fields. |
| 2026-11-06 NEW 2026 | Stanza RCE via pickle deserialization in lemmatizer news 2 min read AI Deser RCE | Library for Stanza RCE via pickle deserialization in the lemmatizer. Loading a crafted `.pt` checkpoint executes arbitrary code due to an unrestricted `pickle.loads` call within `Trainer.load`, specifically in the `_unpack_pos_dict` function. This vulnerability, affecting Stanza versions 1.14.0 and later, is triggered when loading untrusted lemma model checkpoints, allowing for command execution at pipeline construction time. The fix involves using Stanza's `RestrictedUnpickler` to deserialize the inner stream safely. |
| 2026-11-06 NEW 2026 | Agenta Jinja2 evaluator SSTI allows RCE news 1 min read AI RCE SSTI | Writeup of Agenta Jinja2 SSTI vulnerability (GHSA-cfr2-mp74-3763) detailing how authenticated users can achieve remote code execution on Agenta API servers. The vulnerability, identified as CWE-1336, stems from unsandboxed Jinja2 template rendering within the `_format_with_template` function, allowing crafted templates to execute arbitrary Python code, leading to full server filesystem and secrets access. This impacts self-hosted or managed Agenta platform deployments, not standalone SDK usage. |
| 2026-11-06 NEW 2026 | LMCache unauthenticated pickle RCE on multiprocess transport news 3 min read AI Deser RCE | Library for LMCache multiprocess mode with unauthenticated pickle RCE vulnerability. The ZeroMQ transport (default port 5555) on LMCache versions 0.3.9 through 0.5.5, and release candidates, deserializes DeviceIPCWrapper messages using `pickle.loads`. This allows an attacker to execute arbitrary code as the LMCache process user by sending a crafted `REGISTER_KV_CACHE` message. Official container images, running as root, are particularly exposed when the transport binds to a routable address. |
| 2026-11-05 NEW 2026 | Inside the LiteLLM 1.107.0 Compromise: How One Forgotten Key Led to a Poisoned PyPI Release news Supply Chain | A compromised LiteLLM release (1.107.0) was caused by an administrator's key being accidentally left in a public commit for an extended period. This vulnerability was exploited, leading to a poisoned PyPI release. This incident is part of a series titled "Black October 2026." The article details the step-by-step process of how this forgotten key ultimately led to the security breach. |
| 2026-11-04 NEW 2026 | 9 Attacks That Own Most FastAPI Apps in Under an Hour (Exploit + Fix for Each) intermediate API Sec | This content details nine common and critical vulnerabilities affecting FastAPI applications, demonstrating how each can be exploited within an hour. For each attack, it provides clear exploit examples and actionable fixes to secure these applications. The goal is to equip developers with practical knowledge to identify and remediate these security weaknesses efficiently. |
| 2026-11-03 NEW 2026 | Python JSON Backups: Replace the File After the Write Succeeds beginner | This article discusses a method for safely backing up JSON files in Python. It proposes writing the new JSON data to a temporary file first, and only replacing the original file with the temporary one *after* the write operation has successfully completed. This approach ensures that a corrupted or incomplete backup file won't overwrite the existing, valid JSON data, thereby preventing data loss in case of a failure during the backup process. The focus is on a small file-writing boundary to protect the previous good copy. |
| 2026-11-03 NEW 2026 | “Yeahhh ! Sign in with Google ! ”: But What Actually Happens When You Click That Easy Button ? beginner AuthN | This article explains the behind-the-scenes mechanics of using "Sign in with Google." It details the OAuth 2.0, OpenID Connect, and PKCE protocols involved. Through step-by-step explanations and Django examples, the content aims to demystify the seemingly simple process of using third-party authentication, revealing the complex flow of authorization and identity verification that occurs when you click that convenient button. |
| 2026-11-03 NEW 2026 | Quasar: A Cross-Platform Subdomain Enumeration Framework for Modern Cybersecurity & Red Team… news Recon | This content is a title and publisher attribution for "Quasar: A Cross-Platform Subdomain Enumeration Framework for Modern Cybersecurity & Red Team…". The publisher is identified as eXecure - Execute Securely. |
| 2026-11-02 2026 | PyJWT: PyJWK accepts empty HMAC keys (CVE-2026-102266) news 6 min read AuthN JWT | Library vulnerability in PyJWT allows token forgery. CVE-2026-102266 arises because PyJWK accepts empty HMAC keys, unlike the direct `bytes` key path, leading to authentication bypass for HS256 tokens. Services using PyJWK or PyJWKSet with an empty symmetric JWK and disabled minimum key-length enforcement are affected, enabling attackers to forge valid JWTs without possessing the actual secret. |
| 2026-11-02 2026 | Breaking JWT Validation: How JSON Nulls, Python Booleans, and Unhandled Exceptions Bypass jwcrypto intermediate AuthN AuthZ JWT | This article details vulnerabilities in the `jwcrypto` library that allow attackers to bypass JSON Web Token (JWT) validation. By exploiting how `jwcrypto` handles JSON `null` values, Python `True`/`False` booleans, and unhandled exceptions, attackers can forge valid JWTs. This enables them to authenticate as any user or gain unauthorized access. The research highlights the critical importance of robust input validation and secure exception handling in cryptographic libraries to prevent such bypasses. |
| 2026-11-02 2026 | One Forgotten Key, One Poisoned Release: What the LiteLLM Supply-Chain Attack Means for Your… news AI Supply Chain | A supply-chain attack on LiteLLM, a popular open-source library for interacting with various LLM APIs, has been disclosed. The attack involved a compromised account that published a malicious version of the library. This poisoned release could potentially steal sensitive data like API keys and user information. The incident highlights the vulnerability of open-source software and the critical need for robust security practices within development pipelines. Users are advised to update to a secure version and review their systems for any signs of compromise. |
| 2026-11-02 2026 | ZDI-26-797 Meta FAIRChem pickle deserialization news AI Deser | This advisory (ZDI-26-797) details a critical pickle deserialization vulnerability within Meta's FAIRChem software. Successful exploitation of this flaw allows an unauthenticated remote attacker to achieve arbitrary code execution by convincing a user to load a specially crafted pickle file. This could lead to significant compromise of systems running the vulnerable FAIRChem application. → zerodayinitiative.com |
| 2026-11-02 2026 | ZDI-26-845 MLflow deserialization of untrusted data news AI Deser RCE | Advisory ZDI-26-845 details an MLflow Statsmodels _load_model deserialization vulnerability. Remote attackers can execute arbitrary code by tricking users into visiting a malicious page or opening a malicious file. This flaw arises from insufficient validation of user-supplied data, leading to the deserialization of untrusted input and code execution within the user's context. The vulnerability is fixed in MLflow 3.15.0. → zerodayinitiative.com |
| 2026-11-02 2026 | fsspec ReferenceFileSystem SSTI leads to RCE (CVE-2026-104851) news RCE SSTI | Writeup of CVE-2026-104851 in fsspec's ReferenceFileSystem, detailing how control over the "references" JSON document, supplied via URL, allows attackers to trigger un-sandboxed Jinja2 template rendering. This technique achieves arbitrary Python code execution before data is read, mirroring the RCE pattern seen in CVE-2024-34359 within llama-cpp-python. → advisories.gitlab.com |
| 2026-11-02 2026 | Wizarr authenticated Jinja2 SSTI to RCE (CVE-2026-108264) news RCE SSTI | A critical vulnerability (CVSS 9.1), CVE-2026-108264, has been identified in Wizarr. This bug allows authenticated users to perform Server-Side Template Injection (SSTI) during wizard step rendering, which can then lead to Remote Code Execution (RCE). The vulnerability is associated with the wizarrrr/wizarr project. It is not currently reported as actively exploited. Users should consult affected ranges and fixed versions for remediation. |
| 2026-11-02 2026 | Frappe Framework SSTI in message fields (CVE-2026-119144) news 1 min read RCE SSTI | Writeup of CVE-2026-119144 details a critical server-side template injection vulnerability in Frappe Framework. Unsanitized user-controlled message fields allow authenticated attackers to execute template expressions server-side, leading to high impact on confidentiality, integrity, and availability. Affected versions include Frappe Framework 16.0.0 through 16.20.x and versions before 15.111.0. Patches are available in Frappe 15.111.0 and 16.21.0, with immediate upgrading recommended, especially for network-reachable instances. |
| 2026-11-02 2026 | Frappe Builder SSRF guard bypass via redirects and DNS rebinding intermediate SSRF | Library that fixes SSRF guard bypasses in Frappe Builder versions prior to 1.36.1. Exploitation leveraged redirects and DNS rebinding to reach internal services and cloud metadata endpoints, including those in the 100.64.0.0/10 range. The vulnerability affected `builder.api.convert_to_webp`, `builder.api.import_remote_assets`, and `builder.api.import_remote_fonts`. Patches ensure addresses are re-checked on every redirect hop and only globally routable addresses are permitted. |
| Browse all 282 Python resources → | ||
Frequently Asked Questions
- What are common Python security vulnerabilities?
- Common Python security issues include unsafe deserialization with pickle, command injection through os.system() and subprocess with shell=True, Server-Side Template Injection in Jinja2, path traversal in file operations, SSRF in the requests library, and SQL injection when using string formatting instead of parameterized queries.
- Why is Python popular in cybersecurity?
- Python's readability, extensive standard library, and rich ecosystem of security packages make it ideal for exploit development, automation, and tool building. Libraries like pwntools, scapy, impacket, and requests are widely used in penetration testing. Python is also the primary language for Burp Suite extensions (via Jython) and many security scanners.
- How do you write secure Python code?
- Use parameterized queries for database access, avoid pickle for untrusted data (use JSON instead), never use eval() or exec() on user input, use subprocess with shell=False and explicit argument lists, validate and sanitize file paths to prevent traversal, and keep dependencies updated to patch known vulnerabilities.
Weekly AppSec Digest
Get new resources delivered every Monday.