← Vulnerability feed

Vulnerability record · CVE-2016-2510 · published 7 April 2016

CVE-2016-2510: BeanShell Java deserialization remote code execution

Beanshell · Beanshell

BeanShell (bsh) before 2.0b6, when present on the classpath of an application that uses Java serialization or XStream, allows remote attackers to execute arbitrary code via crafted serialized data, related to XThis.Handler. Because the flaw lives in a library that many Java applications bundle, any endpoint that deserializes untrusted input while BeanShell is on the classpath is exposed to full code execution.

8.1 CVSS 3.1 High EPSS 70% · top 0.6% CWE-19 · CWE-19
8.1CVSS 3.1 base score, v2 6.8
70%EPSS exploitation probability, 30 days
NoNot in CISA KEV
3Affected product versions listed by NVD
38References, 4 tagged exploit
17 Jun 2026Last modified by NVD

Description

BeanShell (bsh) before 2.0b6, when included on the classpath by an application that uses Java serialization or XStream, allows remote attackers to execute arbitrary code via crafted serialized data, related to XThis.Handler.

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 19 September 2026. Confidence: high.

high priorityRemote code execution with no authentication or interaction required and very high EPSS, though exploitation depends on the target deserializing untrusted data with BeanShell on the classpath.

What it is

BeanShell (bsh) before 2.0b6, when present on the classpath of an application that uses Java serialization or XStream, allows remote attackers to execute arbitrary code via crafted serialized data, related to XThis.Handler. Because the flaw lives in a library that many Java applications bundle, any endpoint that deserializes untrusted input while BeanShell is on the classpath is exposed to full code execution.

Impact

An attacker who can supply crafted serialized data gains arbitrary code execution in the context of the affected Java process, which typically means full compromise of the application and its host.

Attack surface

Reached remotely over the network by sending malicious serialized data to an application that deserializes untrusted input and has BeanShell on its classpath; no authentication or user interaction is required per the CVSS vector (AV:N/PR:N/UI:N).

Exploitation

Not listed in CISA KEV, but EPSS is very high (0.704 probability, 99.4th percentile) and public references include ysoserial and RSA conference material tagged as exploits, indicating mature public tooling.

What to do

  • Upgrade BeanShell to 2.0b6 or later, or apply the vendor patches referenced in the advisories.
  • Remove BeanShell from the classpath of applications that do not require it.
  • Avoid deserializing untrusted data; use safe formats such as JSON with strict type handling and enforce deserialization allowlists.
  • Apply the relevant distribution updates (Debian DSA-3504, Ubuntu USN-2923-1, Red Hat RHSA advisories) for packaged deployments.
  • Where deserialization of untrusted input is unavoidable, isolate the affected service with network segmentation and least-privilege runtime accounts.

Detection

  • Monitor for deserialization of unexpected or attacker-controlled classes, particularly BeanShell-related types such as XThis.Handler, in application and WAF logs.
  • Alert on Java processes spawning unusual child processes or making outbound connections shortly after receiving serialized payloads.
  • Hunt for known ysoserial gadget payload signatures in inbound request bodies, base64 blobs and serialized streams.
  • Inventory Java applications and dependencies to identify any still bundling BeanShell versions before 2.0b6.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

3 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

LinkTags
http://lists.opensuse.org/opensuse-security-announce/2016-03/msg00056.html Mailing ListThird Party Advisory
http://lists.opensuse.org/opensuse-security-announce/2016-03/msg00078.html Mailing ListThird Party Advisory
http://rhn.redhat.com/errata/RHSA-2016-0539.html Third Party Advisory
http://rhn.redhat.com/errata/RHSA-2016-0540.html Third Party Advisory
http://rhn.redhat.com/errata/RHSA-2016-2035.html Third Party Advisory
http://www.debian.org/security/2016/dsa-3504 Third Party Advisory
http://www.securityfocus.com/bid/84139 Third Party AdvisoryVDB Entry
http://www.securitytracker.com/id/1035440 Third Party AdvisoryVDB Entry
http://www.ubuntu.com/usn/USN-2923-1 Third Party Advisory
https://access.redhat.com/errata/RHSA-2016:1135 Third Party Advisory
https://access.redhat.com/errata/RHSA-2016:1376 Third Party Advisory
https://access.redhat.com/errata/RHSA-2019:1545 Third Party Advisory
https://github.com/beanshell/beanshell/commit/1ccc66bb693d4e46a34a904db8eeff07808d2ced PatchThird Party Advisory
https://github.com/beanshell/beanshell/commit/7c68fde2d6fc65e362f20863d868c112a90a9b49 PatchThird Party Advisory
https://github.com/beanshell/beanshell/releases/tag/2.0b6 PatchThird Party Advisory
https://github.com/frohoff/ysoserial/pull/13 ExploitThird Party Advisory
https://security.gentoo.org/glsa/201607-17 Third Party Advisory
https://www.oracle.com/security-alerts/cpuoct2020.html
https://www.rsaconference.com/writable/presentations/file_upload/asd-f03-serial-killer-silently-pwning-your-java-endpoin ExploitThird Party Advisory
http://lists.opensuse.org/opensuse-security-announce/2016-03/msg00056.html Mailing ListThird Party Advisory
http://lists.opensuse.org/opensuse-security-announce/2016-03/msg00078.html Mailing ListThird Party Advisory
http://rhn.redhat.com/errata/RHSA-2016-0539.html Third Party Advisory
http://rhn.redhat.com/errata/RHSA-2016-0540.html Third Party Advisory
http://rhn.redhat.com/errata/RHSA-2016-2035.html Third Party Advisory
http://www.debian.org/security/2016/dsa-3504 Third Party Advisory
http://www.securityfocus.com/bid/84139 Third Party AdvisoryVDB Entry
http://www.securitytracker.com/id/1035440 Third Party AdvisoryVDB Entry
http://www.ubuntu.com/usn/USN-2923-1 Third Party Advisory
https://access.redhat.com/errata/RHSA-2016:1135 Third Party Advisory
https://access.redhat.com/errata/RHSA-2016:1376 Third Party Advisory
https://access.redhat.com/errata/RHSA-2019:1545 Third Party Advisory
https://github.com/beanshell/beanshell/commit/1ccc66bb693d4e46a34a904db8eeff07808d2ced PatchThird Party Advisory
https://github.com/beanshell/beanshell/commit/7c68fde2d6fc65e362f20863d868c112a90a9b49 PatchThird Party Advisory
https://github.com/beanshell/beanshell/releases/tag/2.0b6 PatchThird Party Advisory
https://github.com/frohoff/ysoserial/pull/13 ExploitThird Party Advisory
https://security.gentoo.org/glsa/201607-17 Third Party Advisory
https://www.oracle.com/security-alerts/cpuoct2020.html
https://www.rsaconference.com/writable/presentations/file_upload/asd-f03-serial-killer-silently-pwning-your-java-endpoin ExploitThird Party Advisory

Track CVE-2016-2510 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

10.0CVE-2025-32433Erlang/OTP SSH server missing authentication allows remote code executionErlang/OTP SSH servers before OTP-27.3.3, OTP-26.2.5.11 and OTP-25.3.2.20 mishandle SSH protocol messages, letting an unauthenticated attacker execut…KEVEPSS 99%analysed10.0CVE-2025-24201Apple WebKit out-of-bounds write allows sandbox escapeCVE-2025-24201 is an out-of-bounds write in Apple's WebKit that was addressed with improved checks. Maliciously crafted web content may break out of …KEVEPSS 3.8%analysed10.0CVE-2021-44228Apache Log4j2 JNDI lookup remote code executionApache Log4j2 versions 2.0-beta9 through 2.15.0 (excluding 2.12.2, 2.12.3, and 2.3.1) do not protect against attacker-controlled LDAP and other JNDI …KEVEPSS 100%analysed9.8CVE-2026-24061GNU Inetutils telnetd argument injection allows remote auth bypasstelnetd in GNU Inetutils through 2.7 fails to sanitize the USER environment variable, so a value such as "-f root" is passed as an argument to login …KEVEPSS 99%analysed9.8CVE-2025-39682Linux kernel TLS zero-length record handling flaw on rx_listThe Linux kernel TLS receive path mishandles zero-length records that arrive from the rx_list, breaking the assumption that a record type change cann…KEVEPSS 2.9%analysed9.8CVE-2025-24813Apache Tomcat Default Servlet path equivalence enables RCE and file disclosureApache Tomcat mishandles path equivalence for names containing an internal dot, letting a remote unauthenticated attacker write files through the Def…KEVEPSS 100%analysed9.8CVE-2024-9680Mozilla Firefox and Thunderbird use-after-free in Animation timelinesA use-after-free flaw in Animation timelines allows an attacker to execute code in the content process of Firefox and Thunderbird. Mozilla reports ex…KEVEPSS 23%analysed9.8CVE-2023-46604Apache ActiveMQ OpenWire deserialization remote code executionThe Java OpenWire protocol marshaller in Apache ActiveMQ deserializes untrusted data, letting an attacker manipulate serialized class types so the br…KEVEPSS 100%analysed

Source: NIST National Vulnerability Database (record CVE-2016-2510), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.