appsec.fyi

Python Resources

Post Share

A curated AppSec resource library covering XSS, SQLi, SSRF, IDOR, RCE, XXE, OSINT, and more.

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.

Start here: the Python learning pathAn ordered route through this library — orientation, then methodology, then research. Read the Python guideA long-form, source-cited deep dive synthesized from every resource below. The comprehensive Python guide on chs.usA hand-written, in-depth practitioner guide — attacks, testing, and prevention.
Date Added Link Excerpt
2026-11-13 NEW 2026social-auth-core login CSRF intermediate AuthN CSRFSocial-auth-core versions prior to 7.0.0 are vulnerable to a Cross-Site Request Forgery (CSRF) attack during the login process. This flaw allows an attacker to trick a user into unintentionally performing actions on the web application when they are authenticated. The vulnerability exists in the login endpoint, where insufficient checks allow for malicious redirection. This could lead to unauthorized actions being performed on behalf of the user.
2026-11-13 NEW 2026PyJWT HMAC forgery with known public key (CVE-2026-102268) security update news JWTA security update addresses CVE-2026-102268 in PyJWT, a Python library for handling JSON Web Tokens (JWTs). The vulnerability, an HMAC forgery flaw, allows attackers to forge JWTs when the public key is known. This could lead to unauthorized access or manipulation of data. Users are advised to update PyJWT to the latest version to mitigate this risk.
2026-11-13 NEW 2026DataGerry 3.3.0 SSTI via DocAPI template rendering (CVE-2026-57853) news RCE SSTIA critical Server-Side Template Injection (SSTI) vulnerability, identified as CVE-2026-57853, has been discovered in DataGerry versions prior to 3.3.0. This high-severity flaw, with a CVSS score of 8.7, arises from improper handling of template rendering within the DocAPI functionality. Exploitation could allow attackers to inject malicious code and potentially gain unauthorized access or control over the affected systems. Users are strongly advised to update DataGerry to version 3.3.0 or later to mitigate this risk. → vulncheck.com
2026-11-13 NEW 2026datamodel-code-generator before 0.84.0 code injection news RCEA code injection vulnerability exists in datamodel-code-generator versions prior to 0.84.0. This flaw allows attackers to execute arbitrary code within the system. The vulnerability arises from improper handling of input data, enabling malicious code to be injected and run. Users are strongly advised to update to version 0.84.0 or later to mitigate this security risk.
2026-11-12 NEW 2026Pickle-Me-Not: CTF pickle deserialization writeup intermediate 2 min read DeserWriteup of the "Pickle-Me-Not" CTF challenge from Qiangwang NEST 2026, detailing a "malicious model" that requires static analysis rather than execution. The solve involves bypassing a gateway's path-policy with double URL-encoding, reading diagnostic logs to reconstruct a SHA-256 keystream using mhkdf-sha256-v1 parameters, and then XORing this keystream with interleaved ciphertext bytes from a strided tensor view. The key takeaway emphasizes that executing untrusted code, like a pickle, can be the intended trap, and understanding tensor view layouts is crucial for data recovery.
2026-11-12 NEW 2026JWT verification bugs: pin the algorithm, then prove the fix intermediate 9 min read AuthN JWTGuide for developers on fixing common JWT verification bugs, including allowing the token to dictate the algorithm or skipping signature checks. It details how to configure PyJWT, jsonwebtoken, and jose to enforce security rules, emphasizes the importance of a test suite to prove verifier effectiveness, and covers essential checks like signature validity, algorithm pinning, claim validation (exp, iss, aud), and secure key management to prevent vulnerabilities like those described in PortSwigger's JWT research.
2026-11-12 NEW 2026Opik SDKs render Jinja2/Nunjucks prompt templates without a sandbox intermediate 1 min read AI RCE SSTILibrary advisory for Opik SDKs addresses CVE-2023-XXXX, detailing how versions prior to 2.2.123 render Jinja2/Nunjucks prompt templates without a sandbox, enabling arbitrary code execution. This vulnerability impacts applications formatting user-controlled Jinja2 prompts, with potential for access to environment variables, credentials, and network resources. Patches are available in version 2.2.123, which implements sandboxing for template rendering, or users can adopt Mustache prompts or restrict prompt editing.
2026-11-12 NEW 2026Python Just Got a New Kind of String. It Could End a Whole Class of Security Bugs. advancedPython has introduced a new type of string, "Stringify," designed to prevent a common class of security vulnerabilities. This innovation aims to mitigate risks associated with improper handling of strings, particularly in web development and data processing. The new string type offers enhanced security features, making it more difficult for attackers to exploit vulnerabilities that arise from string manipulation errors. This development represents a significant step towards more secure Python applications. → levelup.gitconnected.com
2026-11-12 NEW 2026Dell OpenManage Ansible Modules XXE intermediate XXEDell OpenManage Ansible Modules versions 2.0.4 through 2.1.2 contain a critical XML External Entity (XXE) vulnerability. This flaw allows an attacker to inject malicious XML, potentially leading to sensitive data disclosure, denial of service, or even remote code execution on the affected systems. Users are strongly advised to update to the patched versions, 2.0.5 and 2.1.3 respectively, to mitigate this significant security risk.
2026-11-11 NEW 2026CVE-2026-123198: unauthenticated Jinja SSTI in LMFDB render_knowl intermediate RCE SSTILMFDB, prior to commit 01829bd, is vulnerable to CVE-2026-123198, an unauthenticated server-side template injection (SSTI) flaw within the `render_knowl` function. Attackers can exploit this by crafting malicious query-string values, potentially leading to unauthorized access or code execution. → insightcve.com
2026-11-11 NEW 2026Malicious PyPI dynamic-mcp, reqnest and friends: reverse shells, OAuth relays, Telegram stealers intermediate 14 min read Supply ChainLibrary for identifying malicious Python packages like `dynamic-mcp`, `labelearthengine-api`, `qzc690382`, and `reqnest`. These packages exploit various vulnerabilities including CWE-506 (Introduction of Malicious Code), CWE-306 (Authentication Bypass), CWE-829 (Inclusion of Functionality from External Source), CWE-912 (Non-Tamper-Proof Update of Operating System Software), and CWE-200 (Exposure of Sensitive Information). The analysis details how `dynamic-mcp` establishes reverse shells, `labelearthengine-api` relays OAuth tokens, and other packages exfiltrate data or execute commands.
2026-11-11 NEW 2026Wake 5: a Python framework for Solidity testing, fuzzing and static analysis intermediate 2 min read FuzzingFramework for Solidity testing, fuzzing, and static analysis, Wake 5, offers an in-process EVM and Model Context Protocol server for language-model agents. It achieves high transaction throughput, comparable to Foundry and significantly faster than Echidna. Wake 5's analysis demonstrates that integer generator priors, not throughput, bound stateful smart-contract fuzzing once shallow assertions are exhausted. Harnesses leveraging constraint solvers and language models achieved full assertion coverage efficiently. → arxiv.org
2026-11-11 NEW 2026Intel BigDL before 2.5.0b1 deserialization of untrusted data news AI DeserLibrary for Intel BigDL, versions prior to 2.5.0b1, vulnerable to deserialization of untrusted data. This vulnerability, found within Ring 3: User Applications, could allow an unprivileged, unauthenticated attacker with low complexity to escalate privileges via network access, impacting confidentiality, integrity, and availability to a low degree.
2026-11-11 NEW 2026LetMeOut: HICyberCon CTF 2026 Jinja2 sandbox escape writeup intermediate 2 min read SSTIWriteup detailing a Jinja2 sandbox escape vulnerability in the LetMeOut CTF challenge. The exploit leverages NFKC normalization to smuggle attribute names past the `is_safe_attribute` guard, specifically targeting the `__class__` attribute. A secondary vulnerability in `getitem` allows for the execution of unsandboxed code, leading to access to `pdb` and subsequently reading flag files by abusing octal escapes for payload construction.
2026-11-10 NEW 2026PyPI makes release attestations easier to find with new security tab news 2 min read Supply ChainLibrary adds a security tab to PyPI project pages, making release attestations easier to find. This tab displays whether release files have digital attestations, such as PyPI Publish or SLSA Build Provenance, which verify their origin and build process. Users can review attestation details and linked transparency logs, or identify warnings for incomplete provenance, differing repositories, or workflow changes that may indicate potential compromise. → helpnetsecurity.com
2026-11-10 NEW 2026Beyond single-command recon: async multi-stage pipelines intermediate 2 min read ReconPipeline for automated multi-stage reconnaissance, transforming target domains into structured, triage-ready telemetry. This approach chains an async crawler like `katana` to discover endpoints and JS bundles, followed by parameter discovery using `arjun`. A context and reflection engine powered by `dalfox` or `XSStrike-go` then probes reflections and parses DOM sinks. The output is a machine-readable `recon_report.json` adhering to a Pydantic schema, enabling methodology over luck in bug finding.
2026-11-10 NEW 2026SUBX: subdomain recon and asset management framework intermediate OSINT ReconSUBX is a framework designed for subdomain reconnaissance and asset management. It aims to streamline the process of identifying and organizing subdomains associated with an organization's assets. This tool likely assists security professionals and researchers in mapping out an organization's digital footprint, which is crucial for vulnerability assessment and overall security posture.
2026-11-10 NEW 2026ZDI-26-850: Microsoft Qlib MLflowRecorder deserialization RCE news 9 min read AI Deser RCEReference details ZDI-26-850, a high-severity deserialization vulnerability in Microsoft Qlib's MLflowRecorder. This flaw allows remote code execution via user interaction, enabling attackers to leverage unsafe Python object reconstruction with tools like `pickle` to compromise data science workstations and research servers running quantitative analysis or ML experimentation. The entry provides Sigma rules for detecting Python processes spawning shells and establishing unexpected outbound connections, crucial hunt logic for defenders.
2026-11-10 NEW 2026Public PoC for Hugging Face Datasets pickle deserialization RCE (CVE-2026-57845) news 3 min read AI Deser RCEWriteup detailing CVE-2026-57845, a critical RCE vulnerability in Hugging Face datasets affecting versions up to 5.1.0. The flaw, discovered by Sai Teja Erukude, allows arbitrary Python code execution via crafted pickle files loaded through a deprecated pandas builder. This bypasses security checks, enabling attackers to steal credentials and sensitive data, especially in machine learning pipelines handling untrusted datasets. No patch is available, and mitigation involves avoiding the pandas builder.
2026-11-10 NEW 2026From SSTI to a Django secret key (XBEN-056) intermediate 4 min read Secrets SSTIWriteup detailing XBEN-056, a vulnerability discovered during a three-step registration flow where a user-supplied name field was compiled as template source. This allowed for template injection, bypassing a block on percent signs and utilizing double-brace expressions to access the application's signing key material from Django's SECRET_KEY. The exploit successfully retrieved the secret value, demonstrating a critical path from user input to exposed signing credentials.
2026-11-10 NEW 2026flowintel migration script SQL injection intermediate SQLiLibrary for secure application development, addressing a SQL injection vulnerability in flowintel's migration scripts prior to version 4.0.0. This flaw allows attackers with prior write access to the database to inject malicious connector identifier values, leading to arbitrary SQL execution during migration or upgrade operations. Successful exploitation can result in unauthorized data disclosure, modification, or deletion.
2026-11-10 NEW 2026Replicate Cog through 0.23.1 SSRF intermediate AI SSRFLibrary for preventing SSRF in Replicate Cog versions prior to 0.23.1, which allows attackers to submit prediction inputs with attacker-controlled URLs. This vulnerability can cause the Cog process to make unauthorized server-side HTTP requests by failing to validate URLs against the resolved destination host or IP before fetching, potentially exposing sensitive internal services or credentials through HTTP redirects in cog.File and cog.Path predictor inputs.
2026-11-10 NEW 2026ZDI-26-897 (Pwn2Own): Home Assistant Green aiohttp_client SSRF intermediate SSRFWriteup of ZDI-26-897, detailing CVE-2026-91131 in Home Assistant Green. This SSRF vulnerability allows unauthenticated, network-adjacent attackers to trigger arbitrary outbound requests via the aiohttp_client component, as demonstrated at Pwn2Own. The flaw has a CVSS score of 5.4.
2026-11-09 NEW 2026CVE-2026-114615: Authlib JWT algorithm confusion fix bypass intermediate 8 min read AuthN JWTWriteup detailing CVE-2026-114615, an incomplete fix for Authlib's JWT algorithm confusion vulnerability. Versions 1.3.1 through 1.8.0 were susceptible to attacks where a newline or leading whitespace in a PEM public key allowed it to be used as an HMAC secret for HS256. This bypasses the intended security check, enabling attackers to forge tokens. The vulnerability affects applications using Authlib with mixed symmetric and asymmetric algorithms. Authlib 1.9.0 addresses this by more robustly checking for unsafe key markers.
2026-11-09 NEW 2026joserfc OctKey accepts DER RSA public keys as HMAC secrets (HS256 forgery) intermediate 3 min read AuthN JWTLibrary vulnerability: joserfc's OctKey incorrectly accepts DER-encoded RSA public keys as HMAC secrets, enabling HS256 token forgery. This key-type confusion flaw, similar to python-jose's CVE-2026-85394, allows attackers with the service's public key to forge tokens verified by the application. The fix, detailed in GHSA-vvgp-wfq3-pjxj, rejects asymmetric key material during oct key import.
2026-11-09 NEW 2026gcp-log-poc PyPI supply chain attack: env exfiltration and how to check news 3 min read Secrets Supply ChainAnalysis of the `gcp-log-poc` PyPI supply chain attack, affecting versions 0.0.1, 0.0.2, and 0.0.3, details how these packages exfiltrated environment variables and sensitive Google Cloud credentials to a logging endpoint upon installation or import. The attack, identified and flagged by Vigilance shortly after its November 7, 2026 deployment, also captured host, user, OS, and Python version data, with later versions adding public IP address retrieval. The compromise was also recorded as OSV MAL-2026-18753.
2026-11-09 NEW 2026Malicious code in reqnest (PyPI typosquat) news Supply ChainA 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 2026ctfr-reloaded: certificate transparency subdomain discovery beginner 3 min read OSINT ReconTool for free subdomain enumeration, `ctfr-reloaded` leverages Certificate Transparency logs without requiring API keys or registration. It performs real-time OSINT, including DNS resolution, HTTP checks, takeover detection, TLS information, CDN identification, and scoring for prioritization. The tool offers a CLI with colorized output and progress bars, an interactive dashboard, and export options to HTML, PDF, JSON, and CSV. It also includes a Burp Suite integration mode for seamless proxy configuration and URL import.
2026-11-09 NEW 2026Insecure deserialization in Java, .NET, PHP, Python and Node.js intermediate 3 min read Deser RCELibrary for spotting and exploiting insecure deserialization vulnerabilities across Java, .NET, PHP, Python, and Node.js. It details techniques for identifying serialized data in cookies, parameters, and headers, and explains the concept of gadget chains to achieve Remote Code Execution (RCE). Specific tools like `ysoserial` for Java and .NET, `phpggc` for PHP, `pickle` for Python, and `node-serialize` for Node.js are covered, along with common pitfalls and debugging strategies.
2026-11-09 NEW 2026grizzly for modular cross-platform browser fuzzing beginner 4 min read FuzzingFramework for modular, cross-platform browser fuzzing, enabling stability and memory bug discovery. It utilizes plug-in architecture for adapters (fuzzers) and targets (browsers), generating standalone, reproducible test cases crucial for bug handoff and triage. Companion tools for test case minimization and replay, along with direct Bugzilla integration, enhance its utility for vendor security teams and researchers testing locally on Windows, Linux, and macOS. → offsecblog.com
2026-11-09 NEW 2026LMDeploy CVE-2026-119706: unauthenticated RCE via pickle deserialization news 7 min read AI Deser RCETool is LMDeploy, an open-source toolkit for serving large language models, vulnerable to CVE-2026-119706, an unauthenticated remote code execution flaw. Exploiting the `/update_weights` endpoint allows attackers to send crafted pickle payloads, leveraging unsafe deserialization via Python's `pickle` module (CWE-502) to execute arbitrary OS commands. This vulnerability affects versions 0.9.0 through 0.18.0, is easily exploitable due to default configurations binding to 0.0.0.0 without API key authentication, and carries a CVSS 4.0 score of 9.3. A patch is proposed, introducing safe serialization alternatives like safetensors. → zeropath.com
2026-11-09 NEW 2026Unauthenticated SSTI in LMFDB leads to RCE intermediate 2 min read RCE SSTIWriteup of GHSA-6jw3-pmcx-2xww detailing unauthenticated Server-Side Template Injection in LMFDB's knowledge rendering pipeline. Attacker-influenced data is passed unsanitized into `flask.render_template_string()`, allowing remote, unauthenticated parties to inject arbitrary Jinja syntax via query-string parameters. This exploits an unsandboxed Jinja environment, granting Remote Code Execution by accessing Python's object model to run OS commands, confirmed via an `id` command against the live production instance.
2026-11-08 NEW 2026python-jose authentication bypass through 3.5.0 intermediate AuthN JWTLibrary 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 2026PyJWT accepts public JWK containers as HMAC secrets intermediate 2 min read AuthN JWTLibrary 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 2026PyJWT public-key JWK accepted as HMAC secret enables forged HS256 tokens intermediate 2 min read AuthN JWTAdvisory 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 2026IBM: arbitrary code execution in Qiskit SDK QPY deserialization intermediate 2 min read AI Deser RCEBulletin 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 2026MLflow PickleEvaluationArtifact deserialization RCE intermediate AI Deser RCELibrary 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 2026MLflow SHAP load_explainer deserialization RCE news AI Deser RCELibrary 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 2026AWS Virtual Engineering Workbench publishing-component Jinja SSTI news 1 min read RCE SSTIAdvisory 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 2026Stanza RCE via pickle deserialization in the lemmatizer news 2 min read AI Deser RCELibrary 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 2026labbench before 0.46.1 unsafe pickle deserialization in read() news Deser RCEVulnerability 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 2026DEF CON 34: Unveiling Python Class Pollution in the Wild intermediate RCE TalksAt 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 2026DataGerry Jinja2 SSTI to RCE (CVE-2026-57853) news RCE SSTILibrary 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 2026LMFDB unauthenticated Jinja SSTI (CVE-2026-123198) news RCE SSTIAdvisory 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 2026reconflow: recon workflow tool beginner 6 min read ReconTool 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 2026ZDI-26-850 Microsoft Qlib MLflowRecorder deserialization RCE news AI Deser RCEAdvisory 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 2026Stanza RCE via pickle deserialization in the lemmatizer intermediate 3 min read AI Deser RCELibrary 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 2026graphql-core unbounded memory growth (CVE-2026-119286) news 1 min read GraphQLWriteup 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 2026RELATE LMS RCE via insecure Celery pickle deserialization intermediate 2 min read Deser RCELibrary 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 2026DocsGPT unauthenticated RCE via FAISS pickle deserialization intermediate 2 min read AI Deser RCEAdvisory 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.

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.