Insecure Deserialization
Insecure deserialization vulnerabilities occur when applications reconstruct objects from serialized data without proper validation, potentially allowing attackers to execute arbitrary code, bypass authentication, or manipulate application logic. These vulnerabilities affect virtually every major programming language: Java (ObjectInputStream, ysoserial gadget chains), PHP (unserialize), Python (pickle, PyYAML), .NET (BinaryFormatter, Json.NET with TypeNameHandling), and Ruby (Marshal). Deserialization attacks are particularly dangerous because they often achieve remote code execution with a single crafted payload. The exploitation landscape includes gadget chain discovery, polyglot payloads that work across libraries, and attacks against message queues, caching layers, and session management systems that serialize user-controlled data. Defenses include avoiding native serialization for untrusted data, using safe alternatives like JSON, implementing allowlists for deserialized types, and integrity checking serialized objects.
| Date Added | Link | Excerpt |
|---|---|---|
| 2026-04-28 2026 | Critical bug leaves Hugging Face's LeRobot exposed news | A critical vulnerability has been discovered in Hugging Face's LeRobot library, potentially exposing user data and systems. The bug, if exploited, could allow unauthorized access and control over robotic systems integrated with the library. Hugging Face has been alerted and is working on a fix. This incident highlights the importance of robust security in AI and robotics development. Further details regarding the specific nature of the exploit and its potential impact are expected as the investigation progresses. → secnews.gr |
| 2026-04-22 2026 | picoCTF Super Serial Writeup: PHP Object Injection Explained Clearly beginner | picoCTF Super Serial Writeup: PHP Object Injection Explained Clearly |
| 2026-04-22 2026 | Deep Dive into Fastjson Deserialization Vulnerabilities advanced | Deep Dive into Fastjson Deserialization Vulnerabilities |
| 2026-04-22 2026 | CVE-2025-24813 PoC: Apache Tomcat Java Deserialization news | Proof-of-concept exploit for CVE-2025-24813, a Java deserialization vulnerability in Apache Tomcat. This tool, built with Docker, automates the generation and delivery of malicious serialized Java payloads using `ysoserial` or custom Java, targeting session files to trigger deserialization. It supports custom commands and can disable SSL verification for testing. |
| 2026-04-22 2026 | WSUS Deserialization Exploit in the Wild (CVE-2025-59287) news | Analysis of CVE-2025-59287, a WSUS deserialization vulnerability, details an in-the-wild exploitation targeting internet-exposed Windows Server Update Services. The exploit bypasses initial proof-of-concept limitations by delivering a custom .NET payload via a ysoserial.net gadget chain, enabling arbitrary command execution through an embedded `cmd.exe` process launched by `w3wp.exe`. This attack was observed via EDR telemetry, specifically the execution of `whoami.exe` with `w3wp.exe` as its parent, and confirmed by log analysis revealing deserialization errors. |
| 2026-04-22 2026 | Precise and Effective Gadget Chain Mining through Deserialization-Guided Call Graph Construction (USENIX Security 2025) advanced | Tool for precise gadget chain mining using deserialization-guided call graph construction. This approach addresses limitations of existing methods by incorporating controllability analysis, hybrid dispatch techniques, and recovery of missing call edges due to reflection. Evaluated on 30 applications, it demonstrated improved recall and precision, detecting numerous new gadget chains and previously unknown exploitation methods for vulnerabilities like those related to Java deserialization. |
| 2026-04-22 2026 | Gleipner: A Benchmark for Gadget Chain Detection in Java Deserialization Vulnerabilities advanced | Gleipner: A Benchmark for Gadget Chain Detection in Java Deserialization Vulnerabilities → dl.acm.org |
| 2026-04-19 2026 | IBM webMethods Integration CVE-2025-36072: Deserialization RCE news | Writeup of CVE-2025-36072, an unsafe deserialization vulnerability (CWE-502) in IBM webMethods Integration Server. Exploitable by authenticated users with service execution privileges, this flaw allows attackers to submit crafted serialized object graphs to trigger arbitrary code execution. Affected versions include 10.11, 10.15, and 11.1, requiring the latest core fixes to mitigate the risk. → zeropath.com |
| 2026-04-19 2026 | Deserialization Vulnerability — Exploit-DB Paper intermediate | Deserialization Vulnerability — Exploit-DB Paper → exploit-db.com |
| 2026-04-19 2026 | Cisco ISE Insecure Java Deserialization — Cisco Docs intermediate | Advisory detailing Insecure Java Deserialization vulnerabilities in Cisco Identity Service Engine (ISE). The advisory provides information on affected software releases and the first fixed release available through standard update channels for customers with active service contracts. It also outlines procedures for customers without service contracts to obtain security fixes. |
| 2026-04-19 2026 | Insecure Deserialization Vulnerabilities — Acunetix beginner | Reference list of web vulnerability categories, including Insecure Deserialization, SSRF, SQL Injection, XSS, XXE, and LLM-related issues like LLM Prompt Injection and LLM Sensitive Information Disclosure, with severity ratings. → acunetix.com |
| 2026-04-19 2026 | Cisco ISE Insecure Java Deserialization (CVE-2025-20124) news | Cisco ISE Insecure Java Deserialization (CVE-2025-20124) |
| 2026-04-17 2026 | CVE-2023-34040: Spring-Kafka Java Deserialization news | Library fixes CVE-2023-34040 in Spring for Apache Kafka, addressing a deserialization attack vector in exception record headers. This vulnerability requires unusual configuration, specifically the enabling of `enable.idempotent.deserializer` and the use of an `ErrorHandlingDeserializer`. Releases 3.0.10 and 2.9.11 resolve this issue. |
| 2026-04-17 2026 | Apache Struts vulnerability leads to RCE news | Apache Struts vulnerability leads to RCE |
| 2026-04-17 2026 | Jackson deserialization vulnerability exploit (3 gadgets, GitHub) intermediate | Library for exploiting Jackson deserialization vulnerabilities. This resource contains code to reproduce exploits leveraging known gadgets, specifically focusing on the dangers of Polymorphic Type Handling when Jackson accepts untrusted JSON. It details how enabling default typing or using annotations can lead to Remote Code Execution if exploitable gadgets are present in the classpath, demonstrating with `com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl`. |
| 2026-04-17 2026 | Apache Struts2 Code Execution Exploit (Infopercept) intermediate | Writeup detailing an Apache Struts2 remote code execution exploit. The vulnerability, present in versions 2.1.2 to 2.3.x (prior to 2.3.34) and 2.5.x (prior to 2.5.13), stems from insecure deserialization via the Rest Plugin's XStream handler. Attackers can leverage specially crafted XML POST requests to execute system commands. The writeup covers setup with vulnerable servers like Pentester Lab or Metasploitable 3, and exploitation using Metasploit's `struts2_rest_xstream` module or a Python script. |
| 2026-04-17 2026 | Spring-web Java Deserialization: CVE-2016-1000027 (Contrast) news | Spring-web Java Deserialization: CVE-2016-1000027 (Contrast) |
| 2026-04-17 2026 | Exploiting Apache Struts: Writing Better Detections (Gigamon) intermediate | Writeup analyzing detection bypasses for Apache Struts vulnerabilities CVE-2017-5638, CVE-2017-9791, and CVE-2017-9805. It demonstrates how focusing on implementation details of exploits, rather than the underlying Java deserialization and Property-Oriented Programming (POP) chain mechanics of CVE-2017-9805, leads to easily evadable detections. The analysis highlights specific POP gadget class paths, both strict and loose, that can be used to create more robust and attack-class-aware detection logic. |
| 2026-04-17 2026 | Friday the 13th JSON Attacks (Black Hat) advanced | Friday the 13th JSON Attacks (Black Hat) → blackhat.com |
| 2026-04-17 2026 | PayloadsAllTheThings: Insecure Deserialization DotNET intermediate | Library for exploiting insecure deserialization vulnerabilities in .NET applications. It details how various .NET formatters like BinaryFormatter, Json.Net, XmlSerializer, and NetDataContractSerializer can be abused. The library references tools such as `ysoserial.net` and `ysonet` for generating malicious payloads, and highlights specific gadgets like `ObjectDataProvider` and `ExpandedWrapper` used in exploit chains. It also links to several research papers and presentations on .NET deserialization attacks, including work by James Forshaw and Alvaro Muñoz. |
| 2026-04-17 2026 | Basic .Net deserialization ObjectDataProvider gadget (HackTricks) intermediate | Basic .Net deserialization ObjectDataProvider gadget (HackTricks) → book.hacktricks.xyz |
| 2026-04-17 2026 | Python-Pickle-RCE-Exploit + vulnerable Flask App (GitHub) intermediate | Library for demonstrating and exploiting Remote Code Execution (RCE) vulnerabilities via Python's pickle module. Includes a vulnerable Flask application and PoC scripts for executing arbitrary code by serializing and deserializing malicious objects. Useful for understanding pickle deserialization risks and testing applications that handle untrusted pickle data. |
| 2026-04-17 2026 | SOUR PICKLE: Insecure Deserialization with Python Pickle beginner | SOUR PICKLE: Insecure Deserialization with Python Pickle |
| 2026-04-17 2026 | PayloadsAllTheThings: Insecure Deserialization Python intermediate | Library for understanding Python insecure deserialization vulnerabilities, focusing on the pickle and YAML modules. It details vulnerable sinks like `cPickle.loads` and `yaml.unsafe_load`, providing example payloads for Remote Code Execution (RCE) via `pickle` and `os.system` through YAML tags like `!!python/object/apply:os.system`. The entry also references CVE-2019-20477 and techniques for code injection, error-based, and time-based RCE. |
| 2026-04-17 2026 | Python-socketio: Pickle deserialization RCE advisory news | Advisory for python-socketio GHSA-g8c6-8fjj-2r4m details arbitrary Python code execution (RCE) via malicious pickle deserialization in multi-server deployments. Attackers with access to the message queue can send crafted pickle payloads, exploiting `pickle.loads()` and Python's `__reduce__` method to execute arbitrary code with the server's privileges. Versions prior to 5.14.0 are affected; upgrading to 5.14.0+ resolves this by using JSON encoding instead of pickle. |
| 2026-04-17 2026 | Exploiting deserialization in recent Java versions (OWASP Stuttgart) intermediate | Exploiting deserialization in recent Java versions (OWASP Stuttgart) → owasp.org |
| 2026-04-17 2026 | Automated Discovery of Deserialization Gadget Chains (Black Hat) advanced | Automated Discovery of Deserialization Gadget Chains (Black Hat) |
| 2026-04-17 2026 | Prevent insecure deserialization attacks (Veracode) beginner | Library on preventing insecure deserialization, an OWASP Top Ten vulnerability enabling attacks like RCE, SQL injection, and path traversal. It details threat vectors, attack examples using tools like Java Serial Killer and manipulated PHP object serialization, and mitigation strategies including avoiding untrusted input, utilizing JSON, digital signatures, and running deserialization in low-privilege environments. The resource also covers manual and dynamic testing approaches. |
| 2026-04-17 2026 | Understanding Insecure Deserialization: Risks and Mitigations beginner | Understanding Insecure Deserialization: Risks and Mitigations |
| 2026-04-17 2026 | Bug Bounty Hunting: Insecure Deserialization beginner | Bug Bounty Hunting: Insecure Deserialization |
| 2026-04-17 2026 | Insecure Deserialization - Attack Technique (vuln.today) intermediate | Library for understanding and mitigating insecure deserialization vulnerabilities. It details how attackers exploit this weakness by crafting malicious serialized payloads, often leveraging "gadget chains" via tools like ysoserial or phpggc, to achieve remote code execution, authentication bypass, and other impacts. Specific instances like SolarWinds Web Help Desk, Jenkins, and WordPress vulnerabilities are discussed, alongside mitigations such as avoiding untrusted data deserialization, implementing allowlists, and applying cryptographic signatures. The entry also notes a denial of service vulnerability in Nerdbank.MessagePack related to `DateTime` decoding and OutOfMemoryErrors in Apache OpenNLP model deserialization. |
| 2026-04-16 2026 | Depickling, Gadgets, and Chains: The Exploit That Unraveled Equifax advanced | Reference on deserialization vulnerabilities, detailing how the Equifax breach stemmed from CVE-2017-5638 in Apache Struts. It explains the "gadget" and "chain" exploitation technique, drawing parallels to concepts from the "Marshalling Pickles" talk by Lawrence and Frohoff, and referencing CVE-2013-0156 in Rails. The entry highlights the dangers of unchecked input in serialization mechanisms leading to arbitrary code execution. |
| 2026-04-16 2026 | How to Exploit PHAR Deserialization Vulnerability intermediate | Library for PHP deserialization vulnerabilities, focusing on PHAR archives. It details how the `phar://` stream wrapper can automatically deserialize PHAR file metadata, enabling Property Oriented Programming (POP) attacks. The resource explains POP attacks, including the role of magic methods like `__destruct()`, and provides a proof-of-concept exploit demonstrating code execution via a crafted PHAR archive with a malicious object in its metadata. |
| 2026-04-16 2026 | Insecure Reflection Practices in Java and C# intermediate | Library detailing insecure reflection practices in Java and C# applications, outlining vulnerabilities like remote code execution and privilege escalation that arise from unchecked dynamic class loading and type resolution. It emphasizes proactive mitigation strategies, including class whitelisting and securing deserialization pathways, and highlights real-world impacts through case studies like CVE-2025-53770 in SharePoint, demonstrating how reflection is exploited during deserialization, often facilitated by tools like ysoserial. |
| 2026-04-16 2026 | Java Deserialization Tricks - Synacktiv advanced | Library of techniques for evading WAFs and EDRs during Java deserialization exploitation. This library focuses on stealthy RCE, demonstrating how to bypass pattern detection by renaming packages and modifying gadget chains, as well as utilizing the Translet API to inject custom Java code at runtime. It provides methods to avoid detection from common security solutions like WAFs and EDRs by obfuscating strings and injecting bytecode, offering alternatives to direct command execution. |
| 2026-04-16 2026 | Deep Dive into .NET ViewState Deserialization advanced | Deep Dive into .NET ViewState Deserialization |
| 2026-04-16 2026 | ViewState Deserialization Zero-Day in Sitecore (CVE-2025-53690) news | Writeup of CVE-2025-53690, a ViewState deserialization zero-day impacting Sitecore deployments. Mandiant's investigation revealed attackers exploiting an exposed sample machine key to achieve remote code execution. Post-exploitation involved WEEPSTEEL reconnaissance, archiving sensitive files like `web.config`, and using tools such as EARTHWORM, DWAGENT, and SHARPHOUND for network tunneling, remote access, and Active Directory enumeration, culminating in privilege escalation and lateral movement via RDP. → cloud.google.com |
| 2026-04-16 2026 | The Art of Hide and Seek: Pickle-Based Model Supply Chain Poisoning advanced | Library for detecting and bypassing pickle-based model supply chain poisoning in Python AI/ML frameworks. It systematically discloses the poisoning surface across model loading paths and risky functions, identifying 22 overlooked loading paths and 133 exploitable gadgets. The research also introduces Exception-Oriented Programming (EOP) to bypass scanners, demonstrating robust vulnerabilities missed by current detection solutions like PickleScan and ModelScan, and leading to a $6000 bug bounty. → arxiv.org |
| 2026-04-10 2026 | Insecure Deserialization: Risks, Examples, and Best Practices beginner | Library covering insecure deserialization, a vulnerability allowing attackers to inject malicious code by manipulating untrusted serialized data. Exploits can lead to remote code execution, privilege escalation, or denial-of-service attacks. Best practices include strict input validation, using secure serialization libraries, implementing cryptographic integrity checks, and app shielding to protect against tampering. |
| 2026-04-10 2026 | Deserialization Gadget Chain Definition beginner | Library defines Deserialization Gadget Chains, a technique exploiting insecure deserialization by chaining existing application code fragments to achieve remote code execution. Unlike injecting new code, this method abuses legitimate, benign code through reflection and method invocation, as exemplified by the CommonsCollections chain. → pentesterlab.com |
| 2026-04-10 2026 | CVE-2026-20963: SharePoint Deserialization RCE Analysis intermediate | Analysis of CVE-2026-20963 details a critical remote code execution vulnerability in Microsoft SharePoint stemming from unsafe deserialization of user-controlled data. Attackers exploit this by crafting malicious .NET gadget chains within serialized payloads, allowing arbitrary code execution with low-privileged authenticated access. This vulnerability, listed on CISA's Known Exploited Vulnerabilities catalog, enables attackers to compromise SharePoint servers, pivot to other network systems, and access sensitive enterprise data. Detection requires layered monitoring of application requests, process behavior, and network traffic, as exploitation often bypasses traditional signature-based methods. → securityboulevard.com |
| 2026-04-10 2026 | SharePoint Zero-Day CVE-2025-53770 Actively Exploited news | Writeup detailing CVE-2025-53770, a critical zero-day vulnerability in on-premise SharePoint servers actively exploited by the "ToolShell" campaign. This vulnerability allows unauthenticated remote code execution and insecure deserialization via custom webshells parsing VIEWSTATE payloads. Attackers chain this with known Ivanti EPMM vulnerabilities like CVE-2025-4427 and CVE-2025-4428, targeting government, telecommunications, software, financial, business services, and consumer goods sectors, primarily in North America and Western Europe. Recommendations include enabling Anti-Malware Scan Interface, rotating machine keys, deploying endpoint protection, and updating Intrusion Prevention System packages. |
| 2026-04-10 2026 | SolarWinds Web Help Desk Deserialization Vulnerability intermediate | SolarWinds Web Help Desk Deserialization Vulnerability → cybersecuritynews.com |
| 2026-04-10 2026 | SnakeYAML Deserialization Deep Dive (CVE-2022-1471) intermediate | Writeup of CVE-2022-1471 in SnakeYAML, detailing its insecure-by-default deserialization allowing RCE. This analysis covers the vulnerability's technical mechanics, the history of similar issues in SnakeYAML, and provides steps to build a vulnerable application and develop an exploit for remote code execution. |
| 2026-04-10 2026 | Docling RCE via PyYAML (CVE-2026-24009) intermediate | Writeup of CVE-2026-24009 detailing a Docling RCE vulnerability stemming from unsafe YAML deserialization via PyYAML. This "shadow vulnerability," often hidden in transitive dependencies, allows attackers to execute arbitrary Python code by submitting malicious documents. The flaw, similar to past deserialization exploits like the ByBit heist, is only detectable at runtime, bypassing traditional static analysis and dependency checks. Oligo's CADR solution identifies and blocks these unsafe deserialization flows in real-time. |
| 2026-04-10 2026 | PyTorch Users at Risk: 3 Zero-Day PickleScan Vulnerabilities news Python | Library for scanning PyTorch ML models, PickleScan, is vulnerable to three zero-day exploits including CVE-2025-10155, a file extension bypass. These vulnerabilities allow attackers to evade detection by masquerading malicious code within model files, potentially leading to large-scale supply chain attacks on platforms like Hugging Face. The exploits target PickleScan's parsing logic, which can be tricked by specific file extensions to skip bytecode analysis of embedded malicious Python code within pickle serialization. |
| 2026-04-10 2026 | PickleBall: Secure Deserialization of Pickle-based ML Models intermediate | Library for securely deserializing pickle-based machine learning models. PickleBall statically analyzes model source code to generate custom policies for safe load-time behavior, enforcing them dynamically as a replacement for the standard pickle module. This approach correctly loads 79.8% of benign models while rejecting all tested malicious examples, offering a significant improvement over existing model scanners and loaders. → arxiv.org |
| 2026-04-10 2026 | CVE-2026-33728: dd-trace-java Unsafe Deserialization in RMI news | CVE-2026-33728: dd-trace-java Unsafe Deserialization in RMI → advisories.gitlab.com |
| 2026-04-10 2026 | CVE-2026-33439: OpenAM Pre-Auth RCE via Deserialization news | CVE-2026-33439: OpenAM Pre-Auth RCE via Deserialization → advisories.gitlab.com |
| 2026-04-10 2026 | PayloadsAllTheThings - Ruby Deserialization Payloads intermediate | Reference detailing Ruby deserialization vulnerabilities, including a script to generate gadget chains for Ruby 2.0-2.5. It highlights universal gadgets for Ruby versions up to 2.7.2 and 3.x, and cites specific research on RCE via YAML.load and Marshal, referencing works by Luke Jahnke, Etienne Stalmans, Colin McQueen, and PentesterLab. |
| 2026-04-10 2026 | Ruby Vulnerabilities: Exploiting Open, Send, and Deserialization intermediate | Library for exploiting common Ruby-specific remote code execution vulnerabilities, including insecure use of the `open` function, malicious `send` or `public_send` calls, and binary deserialization gadget chains. It provides a walkthrough and a vulnerable Ruby on Rails application to demonstrate exploitation techniques found during an assessment. |
| 2026-04-10 2026 | Java Deserialization Gadget Chains Explained intermediate | Library detailing Java deserialization exploitation, focusing on the CommonsCollections1 gadget chain from Ysoserial. It explains how `readObject()` methods trigger execution paths, the role of chained objects and transformers in controlling program flow, and specifically how the CommonsCollections1 payload leverages `LazyMap` and `ChainedTransformer` to achieve Remote Code Execution (RCE). Understanding these chains is crucial for real-world testing and developing deserialization exploits. |
| 2026-04-10 2026 | Deserialization Gadget Chains in Android: An In-Depth Study advanced | Analysis of Java deserialization gadget chains in Android, using a novel detection tool to analyze the Android SDK and third-party libraries. The study found that the Android SDK contains trampoline gadgets similar to the Java Class Library and can trigger Java native serialization via the Parcel API. However, despite extensive testing, no security-critical gadget chains were discovered in the analyzed Android codebases, suggesting the problem is less prevalent than commonly assumed. → arxiv.org |
| 2026-04-10 2026 | What Actually Is a Deserialization Gadget Chain? beginner | What Actually Is a Deserialization Gadget Chain? |
| 2026-04-10 2026 | ysoserial: Java Deserialization Payload Generator intermediate | Tool for generating Java deserialization payloads, ysoserial leverages gadget chains from libraries like Apache Commons Collections, Spring Beans/Core, and Groovy to exploit applications performing unsafe deserialization. It allows users to specify a command and a gadget chain, serializing the exploit for execution when deserialized by a vulnerable application. The tool supports various payload types, including CommonsCollections1, CommonsCollections4, Groovy1, and Jdk7u21, enabling academic research and defensive technique development for Java deserialization vulnerabilities. |
| 2026-04-10 2026 | ysoserial.net: Deserialization Payload Generator for .NET intermediate | Tool for generating .NET deserialization payloads, inspired by ysoserial. ysoserial.net provides gadget chains from common .NET libraries to exploit unsafe deserialization, wrapping user-specified commands within these chains. It supports various gadget types like ActivitySurrogateDisableTypeCheck, AxHostState, and DataSet, and works with multiple formatters including BinaryFormatter, Json.NET, and SoapFormatter, enabling remote DLL loading and arbitrary code execution when vulnerable applications deserialize malicious data. |
| 2026-04-10 2026 | The Anatomy of Deserialization Attacks beginner | Reference detailing deserialization attack techniques across PHP, Python (using pickle), Node.js, Java, and .NET. It covers how vulnerabilities arise from processing untrusted serialized data, enabling attacks like Remote Code Execution (RCE), SQL injection, and path traversal through PHP magic methods (__wakeup(), __destruct()), Python's pickle module, and Java's ObjectInputStream. Detection tools like Ysoserial, Ysoserial.net, and various Burp plugins are mentioned, alongside remediation strategies focusing on using alternative data formats like JSON/XML and deserializing only signed data. → cobalt.io |
| 2026-04-10 2026 | Marshal Madness: A Brief History of Ruby Deserialization Exploits intermediate | Library detailing the historical evolution of Ruby Marshal deserialization exploits, from early bug tracker issues by Charlie Somerville Hailey to modern industrialized gadget discovery techniques. It traces the decade-long cycle of patches and bypasses, highlighting contributions from researchers like joernchen, Luke Jahnke, and Alex Leahu, and discusses the ongoing challenges presented by these vulnerabilities, referencing CVEs from Java and PHP as comparative examples. → blog.trailofbits.com |
| 2026-04-10 2026 | Deserialization Attacks: How Exploiting Data Formats Can Break Security beginner | Library for understanding deserialization attacks, a critical vulnerability where untrusted serialized data is improperly handled, leading to potential remote code execution, privilege escalation, and data manipulation. It details how serialization converts objects to storable formats and deserialization reconstructs them, highlighting common pitfalls in languages like PHP and Python. The library covers techniques for identifying and manipulating serialized data, including specific methods like `__construct()` and `__destruct()` in PHP, and the risks associated with object injection. |
| 2026-04-10 2026 | DELMIA Apriso Insecure Deserialization Exploited in the Wild (CVE-2025-5086) news | DELMIA Apriso Insecure Deserialization Exploited in the Wild (CVE-2025-5086) |
| 2026-04-10 2026 | PayloadsAllTheThings - PHP Deserialization Payloads intermediate | Library detailing PHP Object Injection, a vulnerability allowing code execution, SQL injection, and path traversal via improper sanitization of input to `unserialize()`. It covers exploiting magic methods like `__wakeup()` and `__destruct()`, using the `phar://` wrapper, and provides payloads for common frameworks, including examples generated by the `phpggc` tool. The resource also outlines how to identify vulnerable code by searching for `unserialize()` calls and relevant magic methods. |
| 2026-04-10 2026 | Exploiting PHP Deserialization with POP Chains intermediate | Exploiting PHP Deserialization with POP Chains |
| 2026-04-10 2026 | What is PHP Object Injection? An In-Depth Guide beginner | Guide on PHP object injection detailing its mechanics, risks, and prevention. It explains how the `unserialize()` function, when used with user-controlled input and existing class definitions, can lead to Remote Code Execution (RCE), data theft, Denial of Service (DoS) attacks, and overall application compromise. The guide includes examples of simple injection and the specific WordPress vulnerability CVE-2022-21663, emphasizing secure coding practices and input validation as key mitigation strategies. |
| 2026-04-10 2026 | PHP Object Injection Research advanced | Library for detecting PHP Object Injection vulnerabilities, which occur when user-controlled data is passed to PHP's `unserialize()` function. This can lead to remote code execution via Property-Oriented Programming (POP) chains that leverage magic methods like `__destruct()` and `__wakeup()` to write files, execute code, or perform SQL injection. The library helps identify unsafe calls to `unserialize()` with user input, enabling developers to prevent these high-severity issues. |
| 2026-04-10 2026 | .NET Deserialization Cheat Sheet intermediate | Cheatsheet detailing .NET deserialization vulnerabilities, covering tools like `ysoserial.net` and Mandiant's `heyserial`. It highlights exploitable CVEs such as CVE-2021-26857 in Microsoft Exchange Server, and issues related to `BinaryFormatter`, `ViewState`, Managed DCOM, `LosFormatter`, `NetDataContractSerializer`, and `ObjectStateFormatter`. The resource also lists specific .NET types and methods prone to unsafe deserialization. |
| 2026-04-10 2026 | BinaryFormatter Deserialization Security Guide for .NET beginner | Guide on .NET BinaryFormatter security, detailing its inherent dangers with deserialization vulnerabilities. It explains how attackers can exploit the `BinaryFormatter.Deserialize` method for denial of service, information disclosure, or remote code execution, and emphasizes that it cannot be made secure. The guide strongly advises against its use, even with trusted data, and recommends safer alternatives provided by .NET, highlighting scenarios where seemingly trusted data can cross trust boundaries and lead to compromise. |
| 2026-04-10 2026 | Microsoft SharePoint Deserialization RCE (CVE-2026-26114) news | Writeup of CVE-2026-26114, a critical deserialization of untrusted data vulnerability in Microsoft Office SharePoint. This high-severity flaw (CVSS 8.8) allows an authenticated, network-exploitable attacker to achieve remote code execution by submitting specially crafted serialized data. Exploitation requires identifying specific input fields accepting serialized data and understanding the application's object graph and potential gadget chains for payload creation. → thehackerwire.com |
| 2026-04-10 2026 | .NET JSON.NET Deserialization RCE intermediate | Library vulnerability in .NET's JSON.NET (Newtonsoft.Json) enabling Remote Code Execution through insecure deserialization settings. When `TypeNameHandling` is not set to `None`, attackers can craft malicious JSON payloads to instantiate arbitrary .NET classes, leading to RCE. Remediation involves disabling `TypeNameHandling`, or implementing a `SerializationBinder` to whitelist allowed types, and validating JSON inputs. → invicti.com |
| 2026-04-10 2026 | Deserialization Bugs in the Wild intermediate | Deserialization Bugs in the Wild |
| 2026-04-10 2026 | Security in Python Deserialization: Safe Pickle Alternatives 2025 intermediate | Security in Python Deserialization: Safe Pickle Alternatives 2025 |
| 2026-04-10 2026 | Exposing 4 Critical Vulnerabilities in Python Picklescan intermediate Python | Library, picklescan, has four critical vulnerabilities, CVE-2025-1716, CVE-2025-1889, CVE-2025-1944, and CVE-2025-1945, that allow arbitrary code execution, bypass malware scanning, and crash the tool when processing Python pickle files, particularly within AI/ML model archives used by platforms like Hugging Face. → sonatype.com |
| 2026-04-10 2026 | Breaking Pickle: RCE Through Python Deserialization intermediate | Breaking Pickle: RCE Through Python Deserialization |
| 2026-04-10 2026 | Pickle Deserialization in ML Pipelines: The RCE That Won't Go Away intermediate | Library of Python tools and techniques for mitigating pickle deserialization vulnerabilities in ML pipelines. This library addresses the persistent RCE risk posed by `pickle.loads()`, which can execute arbitrary code during deserialization. It covers exploitation vectors including direct model file loading, supply chain attacks on platforms like HuggingFace, and emerging threats in LLM serving infrastructure such as CVE-2025-32444 in vLLM and CVE-2026-26220 in LightLLM, where untrusted data is deserialized over network sockets. |
| 2026-04-10 2026 | Insecure Deserialization Tutorial and Examples beginner | Tutorial on insecure deserialization, demonstrating attacks on a video game API by manipulating serialized Java objects. It covers understanding serialization, using tools like `jdeserialize` and `hexdump` to modify payloads, achieving state manipulation by changing item quantities, and ultimately performing remote code execution by leveraging gadget classes within Java frameworks. The tutorial emphasizes that relying on obscurity for security is ineffective and stresses the importance of robust input validation. |
| 2026-04-10 2026 | An In-depth Study of Java Deserialization RCE Exploits advanced | An In-depth Study of Java Deserialization RCE Exploits → dl.acm.org |
| 2026-04-10 2026 | OWASP Deserialization Cheat Sheet beginner | Reference for safely deserializing untrusted data, this OWASP cheat sheet details vulnerabilities and mitigation techniques across PHP, Python, and Java. It covers identifying insecure usage of functions like `unserialize()` and `pickle.loads()`, and advises on hardening Java's `ObjectInputStream` through subclassing or agents, mentioning libraries like SerialKiller and NibbleSec. The guide emphasizes using safe interchange formats like JSON and protecting sensitive data by declaring fields as `transient`. → cheatsheetseries.owasp.org |
| 2026-04-10 2026 | Deserialization Vulnerabilities in Java beginner | Tutorial detailing Java deserialization vulnerabilities, explaining attack vectors involving reflection and gadget chains, exemplified by `ysoserial`. It covers implications like remote command execution and data theft, and offers best practices including keeping libraries updated, verifying input sources, and consulting OWASP cheat sheets for prevention. |
| 2026-04-10 2026 | Java Deserialization Cheat Sheet intermediate | Cheatsheet detailing Java deserialization vulnerabilities across numerous JVM serialization libraries including Java Native, XMLEncoder, XStream, Kryo, Hessian/Burlap, Castor, json-io, Jackson, Fastjson, Genson, Flexjson, Jodd, Red5 IO AMF, Apache Flex BlazeDS, Flamingo AMF, GraniteDS, WebORB for Java, SnakeYAML, jYAML, and YamlBeans. It covers exploitation techniques, specific CVEs such as CVE-2015-4852, CVE-2017-3248, and CVE-2018-2628, and mentions tools like ysoserial payloads and Burp Suite integration. |
| 2026-04-10 2026 | Insecure Deserialization in Web Applications beginner | Library detailing insecure deserialization vulnerabilities in web applications and APIs. It explains the concepts of serialization and deserialization, highlighting risks associated with trusting unvalidated data. The entry specifically mentions Java deserialization with gadget chains and PHP's `unserialize` function, as well as Python's `pickle` module. Consequences like remote code execution and authentication bypass are discussed, along with mitigation strategies including input validation and dynamic application security testing (DAST). → invicti.com |
| 2026-04-10 2026 | CVE-2026-25769: Wazuh Critical RCE via Unsafe Deserialization news | Writeup on CVE-2026-25769, a critical RCE vulnerability in Wazuh versions 4.0.0 through 4.14.2. The issue stems from unsafe JSON deserialization within the cluster communication mechanism, allowing an attacker controlling a worker node to import arbitrary Python modules and execute commands on the master node with full cluster compromise. This flaw exploits CWE-502 by treating untrusted input as executable code, bypassing validation and relying on an overly permissive trust model between worker and master nodes. → resecurity.com |
| 2026-04-10 2026 | U-Office Force Critical RCE via Insecure Deserialization (CVE-2026-3422) news RCE | Writeup of CVE-2026-3422, a critical Insecure Deserialization vulnerability in U-Office Force by e-Excellence. This unauthenticated RCE flaw allows attackers to execute arbitrary code by sending maliciously crafted serialized content to the application, which lacks proper validation. Exploitation requires identifying endpoints that deserialize data and crafting a gadget chain to trigger code execution. → thehackerwire.com |
| 2026-04-10 2026 | IBM Langflow Desktop RCE via Insecure Deserialization news RCE | Writeup of CVE-2026-3357, an RCE vulnerability in IBM Langflow Desktop (versions 1.6.0-1.8.2). An authenticated user can exploit an insecure default in the FAISS component, enabling untrusted data deserialization and leading to arbitrary code execution. Exploitation requires an authenticated attacker to craft malicious serialized data to trigger gadget chains within the deserialization process. → thehackerwire.com |
| 2026-04-06 2026 | Remote Code Execution (RCE) Prevention - SecPortal beginner | Remote Code Execution (RCE) Prevention - SecPortal |
| 2026-04-06 2026 | CVE-2025-12305: Shiyi-blog RCE via Deserialization news | Writeup of CVE-2025-12305 detailing an insecure deserialization vulnerability in quequnlong shiyi-blog versions up to 1.2.1. Exploitation of the Job Handler component, specifically SysJobController.java, allows remote attackers to achieve arbitrary code execution via crafted serialized Java objects. The vulnerability stems from CWE-502 and CWE-20, enabling attackers with low privileges to leverage gadget chains. Public exploits are available, increasing the risk. Mitigation strategies include input validation, serialization filtering, and network segmentation. → sentinelone.com |
| 2026-04-06 2026 | CVE-2025-34153: Hyland OnBase RCE via Deserialization news | Writeup on CVE-2025-34153, a critical unauthenticated remote code execution vulnerability in Hyland OnBase. Exploiting the .NET Timer Service's TCP channel on port 6031, attackers can leverage insecure .NET BinaryFormatter deserialization in Hyland.Core.Timers.dll to achieve SYSTEM-level privileges. Detection involves monitoring network traffic to port 6031 and suspicious process activity, while mitigation requires upgrading to version 17.0.2.87 or later, or blocking the port. → sentinelone.com |
| 2026-04-06 2026 | CVE-2025-42928: SAP jConnect RCE via Deserialization news | Writeup of CVE-2025-42928, an insecure deserialization vulnerability in SAP jConnect. This flaw, classified under CWE-502, allows authenticated attackers with high privileges to achieve remote code execution by submitting specially crafted serialized Java objects. Exploitation requires leveraging gadget chains within the application's classpath, potentially leading to full system compromise. Mitigation involves applying SAP Security Note #3685286, restricting high-privilege access, and implementing network segmentation. → sentinelone.com |
| 2026-04-06 2026 | Insecure Deserialization Guide - SecPortal beginner | Insecure Deserialization Guide - SecPortal |
| 2026-04-03 2026 | Unsafe Deserialization in Ruby | SecureFlag intermediate | Unsafe Deserialization in Ruby | SecureFlag |
| 2026-04-03 2026 | Analyzing Prerequisites of Known Deserialization Vulnerabilities on Java Applications advanced | Analyzing Prerequisites of Known Deserialization Vulnerabilities on Java Applications → dl.acm.org |
| 2026-04-03 2026 | Insecure Deserialization: The Vulnerability That Gives Attackers RCE beginner | Library covering insecure deserialization vulnerabilities, highlighting its potential for Remote Code Execution (RCE) as seen in CVE-2015-4852 (Apache Commons Collections) and issues with Python's `pickle` and PHP's `unserialize()`. It details how gadget chains exploit legitimate class methods for code execution and recommends architectural fixes like using JSON or MessagePack, signing serialized data with HMAC, and implementing Java serialization filters to prevent attackers from controlling serialized bytes and triggering arbitrary code execution. |
| 2026-04-03 2026 | Lab: Exploiting Ruby Deserialization Using a Documented Gadget Chain | PortSwigger intermediate | Library for exploiting Ruby deserialization vulnerabilities, specifically in Ruby on Rails applications. This resource details a lab environment where a documented gadget chain can be adapted to achieve remote code execution. The objective involves creating a malicious serialized object containing an RCE payload to delete a target file, leveraging a serialization-based session mechanism. → portswigger.net |
| 2026-04-03 2026 | Ruby 2.x Universal RCE Deserialization Gadget Chain | elttam advanced | Library for universal RCE deserialization in Ruby 2.x, detailing exploitation techniques. This resource describes how to achieve arbitrary command execution by discovering and chaining available gadgets from the standard library, overcoming limitations of previous methods that required specific gems like ActiveSupport and ERB. It covers identifying gadgets that can dynamically load other libraries, including those that partially control the `require` argument, to expand the attack surface and execute system commands. |
| 2026-04-03 2026 | Insecure Deserialization Explained with Examples beginner | Library for learning about and exploiting insecure deserialization vulnerabilities. It provides detailed explanations and code examples for PHP object injection (including Phar deserialization), Python pickle deserialization, and Java deserialization. The library covers vulnerability definitions, impact, real-world CVE examples, exploitation techniques using custom code, and mitigation strategies, with exercises in OWASP WebGoat and real-world bug bounty report analysis. |
| 2026-04-03 2026 | Now You Serial, Now You Don't — Systematically Hunting for Deserialization Exploits | Google Cloud advanced | Library for hunting deserialization exploits, featuring tools like HeySerial.py for rule generation and CheckYoself.py for validation. This resource details the systematic research process used to develop these tools, enabling the detection of exploitation attempts against vulnerabilities in Exchange (CVE-2021-42321), Zoho ManageEngine (CVE-2020-10189), Jira (CVE-2020-36239), Telerik (CVE-2019-18935), Jenkins (CVE-2016-9299), and log4j (CVE-2021-44228), by identifying gadget chains and malicious payloads. → cloud.google.com |
| 2026-04-03 2026 | PayloadsAllTheThings - Java Deserialization Payloads intermediate | Library cataloging Java deserialization payloads and exploitation techniques. It details common vulnerabilities such as those found in Jackson (CVE-2017-7525, CVE-2017-17485, CVE-2019-12384, CVE-2020-36180, CVE-2020-9548) and SnakeYAML, alongside JSF ViewState exploits. The resource lists numerous tools like ysoserial, marshalsec, and Burp extensions for generating and detecting these insecure deserialization issues. |
| 2026-04-03 2026 | Insecure Deserialization | OWASP beginner | Reference on Insecure Deserialization, a vulnerability that allows attackers to execute code or manipulate objects by abusing an application's deserialization process with untrusted data. This vulnerability can lead to remote code execution, denial-of-service, and privilege escalation. Mitigations include avoiding deserialization of untrusted data, implementing integrity checks, enforcing strict type constraints, isolating deserialization code, logging exceptions, monitoring the process, and using alternative formats like JSON. → owasp.org |
| 2026-04-03 2026 | Exploiting Insecure Deserialization Vulnerabilities | PortSwigger intermediate | Library for exploiting insecure deserialization vulnerabilities in PHP, Ruby, and Java. It covers identifying serialized data, modifying object attributes and data types for attacks, and chaining method invocations. The resource demonstrates how to exploit PHP's `serialize()`/`unserialize()` and Java's `java.io.Serializable` interface, including scenarios involving type juggling with PHP's loose comparison operator. → portswigger.net |
| 2026-01-16 2026 | Introduction to Deserialization Attacks beginner | Walkthrough of deserialization attacks, covering serialization basics in Python with `pickle` and PHP with `serialize`. It details how untrusted input during deserialization can lead to critical vulnerabilities like remote code execution (RCE) by loading unexpected classes or executing dangerous code paths. The entry includes a Python Flask application demonstration showcasing the process and the associated risks. |
| 2023-06-06 2023 | Reversing Pickles with r2pickledec intermediate Python | Tool for reversing Python pickles with Radare2, r2pickledec supports all instructions up to protocol 5. It enables analysis of serialized Python objects, which are known to be dangerous and can lead to remote code execution if unpickled from untrusted sources. The tool helps in understanding pickle assembly language and reversing real-world pickle files found on compromised systems, aiding in security assessments by identifying potentially malicious data structures and configurations. → blog.doyensec.com |
| 2021-06-11 2021 | Insecure DeserializationWeb ChallengesPart 1 intermediate | This content, "Insecure Deserialization Web Challenges Part 1," likely presents a set of practical exercises focused on identifying and exploiting vulnerabilities related to insecure deserialization in web applications. Participants would engage with pre-configured environments or code snippets to understand the risks associated with improperly handling serialized data, potentially leading to remote code execution or other security compromises. The challenges are designed to build hands-on skills in detecting and mitigating such vulnerabilities. |
| 2020-06-29 2020 | Insecure deserialization | Web Security Academy beginner | Reference on insecure deserialization detailing its nature, common scenarios, and exploitation techniques across PHP, Ruby, and Java. It covers how user-controllable data manipulation during deserialization can lead to severe attacks, including object injection, privilege escalation, and remote code execution, while emphasizing the difficulty of secure deserialization and advocating for avoidance or strict pre-deserialization integrity checks. → portswigger.net |
Frequently Asked Questions
- What makes deserialization vulnerabilities so dangerous?
- Deserialization vulnerabilities often lead directly to remote code execution (RCE) because the deserialization process can trigger arbitrary method calls through gadget chains — sequences of existing classes whose methods chain together to execute attacker-controlled commands. A single crafted payload can compromise an entire server.
- What is a gadget chain?
- A gadget chain is a sequence of existing classes and methods in an application's classpath that, when triggered during deserialization, produce a dangerous side effect like code execution. Tools like ysoserial (Java), phpggc (PHP), and peas (Python) generate payloads for known gadget chains in popular libraries and frameworks.
- How do you prevent insecure deserialization?
- Never deserialize untrusted data using native serialization formats (Java ObjectInputStream, Python pickle, PHP unserialize). Use safe data formats like JSON for data exchange. If native serialization is required, implement strict type allowlists, integrity checks (HMAC signatures), and consider using look-ahead deserialization that validates types before instantiation.
Weekly AppSec Digest
Get new resources delivered every Monday.