appsec.fyi

Insecure Deserialization Resources

Post Share

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

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.

Start here: the Deser learning pathAn ordered route through this library — orientation, then methodology, then research. Read the Deser guideA long-form, source-cited deep dive synthesized from every resource below. The comprehensive Deser guide on chs.usA hand-written, in-depth practitioner guide — attacks, testing, and prevention.
Date Added Link Excerpt
2026-08-27 NEW 2026Ruby Marshal Kick-off Gadgets - elttam intermediate 15 min readLibrary detailing nine ways `Marshal.load` on Ruby 4.0.6 can grant attackers code execution. It focuses on "kick-off gadgets," the initial method calls `Marshal.load` implicitly triggers, distinct from intermediate deserialization gadgets. The article categorizes these into documented entrypoints like `marshal_load`, `_load`, and `_load_data`, and unexpected ones such as `hash` and `eql?`, which are triggered through fundamental Ruby features and are less likely to be patched by maintainers. → elttam.com
2026-08-14 2026Ruby 4.0 Universal RCE Deserialization Gadget Chain - elttam intermediate 12 min read RCELibrary for Ruby 4.0 Universal RCE Deserialization, building on prior research into universal gadget chains. This new chain exploits `Marshal.load` and uses gadgets like `Gem::Specification.load` and `Gem::StubSpecification` to achieve command execution by controlling file content and execution paths, re-using `call_url_and_create_folder` for file writing and `Time` deserialization as a robust trigger for the download and write process. → elttam.com
2026-07-22 2026Leaking internal headers in Flask Ninja with deserialization intermediate 5 min read PythonLibrary for Python's Flask Ninja enabling API security. It details a deserialization vulnerability in Flask Ninja's HttpBearer class that can lead to internal header leaks, specifically mentioning the `pickle` gadget and its use with Pydantic models. The writeup also outlines developer-side mitigations like avoiding reflection of rejected credentials and not deserializing untrusted input.
2026-06-10 2026Security Advisory: Critical RCE Vulnerabilities in React Server Components (CVE-2025-55182) news 4 min read RCEAdvisory detailing CVE-2025-55182, a critical RCE vulnerability in React Server Components. This flaw, present in React 19 and Next.js 15/16, arises from unsafe deserialization of attacker-controlled data within the "Flight" protocol, enabling unauthenticated remote code execution via crafted HTTP requests. The vulnerability affects any framework embedding the RSC implementation, including Vite, Parcel, and Redwood. Patches are available for React and Next.js, and immediate upgrades are recommended to prevent server compromise. → snyk.io
2026-04-22 2026picoCTF Super Serial Writeup: PHP Object Injection Explained Clearly beginnerpicoCTF Super Serial Writeup: PHP Object Injection Explained Clearly
2026-04-22 2026Deep Dive into Fastjson Deserialization Vulnerabilities advancedDeep Dive into Fastjson Deserialization Vulnerabilities
2026-04-22 2026CVE-2025-24813 PoC: Apache Tomcat Java Deserialization newsProof-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 2026WSUS Deserialization Exploit in the Wild (CVE-2025-59287) news 4 min readAnalysis 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 2026Precise and Effective Gadget Chain Mining through Deserialization-Guided Call Graph Construction (USENIX Security 2025) advanced 2 min readTool 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 2026Gleipner: A Benchmark for Gadget Chain Detection in Java Deserialization Vulnerabilities advancedGleipner: A Benchmark for Gadget Chain Detection in Java Deserialization Vulnerabilities → dl.acm.org
2026-04-19 2026IBM webMethods Integration CVE-2025-36072: Deserialization RCE news 2 min readWriteup 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 2026Deserialization Vulnerability — Exploit-DB Paper intermediateDeserialization Vulnerability — Exploit-DB Paper → exploit-db.com
2026-04-19 2026Cisco ISE Insecure Java Deserialization — Cisco Docs intermediate 2 min readAdvisory 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 2026Insecure Deserialization Vulnerabilities — Acunetix beginner 1 min readReference 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 2026Cisco ISE Insecure Java Deserialization (CVE-2025-20124) newsCisco ISE Insecure Java Deserialization (CVE-2025-20124)
2026-04-17 2026CVE-2023-34040: Spring-Kafka Java Deserialization newsLibrary 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 2026Apache Struts vulnerability leads to RCE newsApache Struts vulnerability leads to RCE
2026-04-17 2026Jackson deserialization vulnerability exploit (3 gadgets, GitHub) intermediate 8 min readLibrary 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 2026Apache Struts2 Code Execution Exploit (Infopercept) intermediate 2 min readWriteup 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 2026Spring-web Java Deserialization: CVE-2016-1000027 (Contrast) newsSpring-web Java Deserialization: CVE-2016-1000027 (Contrast)
2026-04-17 2026Exploiting Apache Struts: Writing Better Detections (Gigamon) intermediate 5 min readWriteup 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 2026Friday the 13th JSON Attacks (Black Hat) advancedFriday the 13th JSON Attacks (Black Hat) → blackhat.com
2026-04-17 2026PayloadsAllTheThings: Insecure Deserialization DotNET intermediate 4 min readLibrary 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 2026Basic .Net deserialization ObjectDataProvider gadget (HackTricks) intermediateBasic .Net deserialization ObjectDataProvider gadget (HackTricks) → book.hacktricks.xyz
2026-04-17 2026Python-Pickle-RCE-Exploit + vulnerable Flask App (GitHub) intermediateLibrary 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 2026SOUR PICKLE: Insecure Deserialization with Python Pickle beginnerSOUR PICKLE: Insecure Deserialization with Python Pickle
2026-04-17 2026PayloadsAllTheThings: Insecure Deserialization Python intermediate 2 min readLibrary 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 2026Python-socketio: Pickle deserialization RCE advisory news 1 min readAdvisory 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 2026Exploiting deserialization in recent Java versions (OWASP Stuttgart) intermediateExploiting deserialization in recent Java versions (OWASP Stuttgart) → owasp.org
2026-04-17 2026Automated Discovery of Deserialization Gadget Chains (Black Hat) advancedAutomated Discovery of Deserialization Gadget Chains (Black Hat)
2026-04-17 2026Prevent insecure deserialization attacks (Veracode) beginner 3 min readLibrary 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 2026Understanding Insecure Deserialization: Risks and Mitigations beginnerUnderstanding Insecure Deserialization: Risks and Mitigations
2026-04-17 2026Bug Bounty Hunting: Insecure Deserialization beginnerBug Bounty Hunting: Insecure Deserialization
2026-04-16 2026Depickling, Gadgets, and Chains: The Exploit That Unraveled Equifax advanced 3 min readReference 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 2026How to Exploit PHAR Deserialization Vulnerability intermediate 7 min readLibrary 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 2026Insecure Reflection Practices in Java and C# intermediate 6 min readLibrary 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 2026Java Deserialization Tricks - Synacktiv advanced 21 min readLibrary 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 2026Deep Dive into .NET ViewState Deserialization advancedDeep Dive into .NET ViewState Deserialization
2026-04-16 2026ViewState Deserialization Zero-Day in Sitecore (CVE-2025-53690) news 11 min readWriteup 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 2026The Art of Hide and Seek: Pickle-Based Model Supply Chain Poisoning advanced 47 min readLibrary 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 2026Insecure Deserialization: Risks, Examples, and Best Practices beginner 1 min readLibrary 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 2026Deserialization Gadget Chain Definition beginnerLibrary 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 2026SharePoint Zero-Day CVE-2025-53770 Actively Exploited news 2 min readWriteup 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 2026SnakeYAML Deserialization Deep Dive (CVE-2022-1471) intermediateWriteup 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 2026Docling RCE via PyYAML (CVE-2026-24009) intermediate 5 min readWriteup 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 2026PyTorch Users at Risk: 3 Zero-Day PickleScan Vulnerabilities news 11 min read PythonLibrary 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. → jfrog.com
2026-04-10 2026PickleBall: Secure Deserialization of Pickle-based ML Models intermediate 1 min readLibrary 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 2026CVE-2026-33728: dd-trace-java Unsafe Deserialization in RMI newsCVE-2026-33728: dd-trace-java Unsafe Deserialization in RMI → advisories.gitlab.com
2026-04-10 2026CVE-2026-33439: OpenAM Pre-Auth RCE via Deserialization newsCVE-2026-33439: OpenAM Pre-Auth RCE via Deserialization → advisories.gitlab.com
2026-04-10 2026PayloadsAllTheThings - Ruby Deserialization Payloads intermediate 1 min readReference 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 2026Ruby Vulnerabilities: Exploiting Open, Send, and Deserialization intermediate 19 min readLibrary 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. → bishopfox.com
2026-04-10 2026Java Deserialization Gadget Chains Explained intermediate 13 min readLibrary 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 2026Deserialization Gadget Chains in Android: An In-Depth Study advanced 2 min readAnalysis 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 2026What Actually Is a Deserialization Gadget Chain? beginnerWhat Actually Is a Deserialization Gadget Chain?
2026-04-10 2026ysoserial: Java Deserialization Payload Generator intermediate 2 min readTool 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 2026ysoserial.net: Deserialization Payload Generator for .NET intermediate 18 min readTool 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 2026The Anatomy of Deserialization Attacks beginner 5 min readReference 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 2026Marshal Madness: A Brief History of Ruby Deserialization Exploits intermediate 8 min readLibrary 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 2026Deserialization Attacks: How Exploiting Data Formats Can Break Security beginner 13 min readLibrary 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 2026DELMIA Apriso Insecure Deserialization Exploited in the Wild (CVE-2025-5086) news 2 min readWriteup on CVE-2025-5086, an insecure deserialization vulnerability in DELMIA Apriso versions Release 2020 through Release 2025. This flaw, residing in the FlexNetOperationsService.svc WCF service utilizing NetDataContractSerializer, allows remote attackers to achieve arbitrary code execution via a malformed serialized payload. The vulnerability is actively exploited in the wild and has been added to CISA's Known Exploited Vulnerabilities catalog, necessitating immediate updates to the latest patched version.
2026-04-10 2026PayloadsAllTheThings - PHP Deserialization Payloads intermediate 6 min readLibrary 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 2026Exploiting PHP Deserialization with POP Chains intermediateExploiting PHP Deserialization with POP Chains
2026-04-10 2026What is PHP Object Injection? An In-Depth Guide beginner 9 min readGuide 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 2026PHP Object Injection Research advanced 4 min readLibrary 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 3 min readCheatsheet 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 2026BinaryFormatter Deserialization Security Guide for .NET beginner 4 min readGuide 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.NET JSON.NET Deserialization RCE intermediate 1 min readLibrary 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 2026Deserialization Bugs in the Wild intermediateDeserialization Bugs in the Wild
2026-04-10 2026Exposing 4 Critical Vulnerabilities in Python Picklescan intermediate 5 min read PythonLibrary, 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 2026Breaking Pickle: RCE Through Python Deserialization intermediateBreaking Pickle: RCE Through Python Deserialization
2026-04-10 2026Pickle Deserialization in ML Pipelines: The RCE That Won't Go Away intermediate 12 min readLibrary 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 2026Insecure Deserialization Tutorial and Examples beginner 9 min readTutorial 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 2026An In-depth Study of Java Deserialization RCE Exploits advancedAn In-depth Study of Java Deserialization RCE Exploits → dl.acm.org
2026-04-10 2026OWASP Deserialization Cheat Sheet beginner 11 min readReference 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 2026Deserialization Vulnerabilities in Java beginner 4 min readTutorial 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 2026Java Deserialization Cheat Sheet intermediate 10 min readCheatsheet 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 2026Insecure Deserialization in Web Applications beginner 4 min readLibrary 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 2026CVE-2026-25769: Wazuh Critical RCE via Unsafe Deserialization news 9 min readWriteup 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-06 2026Remote Code Execution (RCE) Prevention - SecPortal beginnerRemote Code Execution (RCE) Prevention - SecPortal
2026-04-06 2026CVE-2025-12305: Shiyi-blog RCE via Deserialization news 3 min readWriteup 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 2026CVE-2025-34153: Hyland OnBase RCE via Deserialization news 3 min readWriteup 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 2026CVE-2025-42928: SAP jConnect RCE via Deserialization news 4 min readWriteup 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 2026Insecure Deserialization Guide - SecPortal beginnerInsecure Deserialization Guide - SecPortal
2026-04-03 2026Unsafe Deserialization in Ruby | SecureFlag intermediateUnsafe Deserialization in Ruby | SecureFlag
2026-04-03 2026Analyzing Prerequisites of Known Deserialization Vulnerabilities on Java Applications advancedAnalyzing Prerequisites of Known Deserialization Vulnerabilities on Java Applications → dl.acm.org
2026-04-03 2026Insecure Deserialization: The Vulnerability That Gives Attackers RCE beginner 4 min readLibrary 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 2026Lab: Exploiting Ruby Deserialization Using a Documented Gadget Chain | PortSwigger intermediateLibrary 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 2026Ruby 2.x Universal RCE Deserialization Gadget Chain | elttam advanced 11 min readLibrary 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. → elttam.com
2026-04-03 2026Insecure Deserialization Explained with Examples beginner 11 min readLibrary 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 2026Now You Serial, Now You Don't — Systematically Hunting for Deserialization Exploits | Google Cloud advanced 16 min readLibrary 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 2026PayloadsAllTheThings - Java Deserialization Payloads intermediate 5 min readLibrary 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 2026Insecure Deserialization | OWASP beginner 3 min readReference 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 2026Exploiting Insecure Deserialization Vulnerabilities | PortSwigger intermediate 17 min readLibrary 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 2026Introduction to Deserialization Attacks beginner 9 min readWalkthrough 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 2023Reversing Pickles with r2pickledec intermediate 10 min read PythonTool 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 2021Insecure DeserializationWeb ChallengesPart 1 intermediateThis 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 2020Insecure deserialization | Web Security Academy beginner 5 min readReference 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.