CVE-2013-2423
Low · 3.7 CISA KEVCVSS
3.7
EPSS
85.2%
Published
Apr 17, 2013
CISA due date
Jun 15, 2022
Cloudanix analysis
A problem in Java software lets attackers quietly change protected settings they should not be allowed to touch.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- High
- Impact
- Data Tampering
- Component
- Library
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw permits remote attackers to bypass Java permission checks in HotSpot by leveraging MethodHandles reflection combined with type confusion to modify arbitrary public final fields, including those that can disable the security manager.
Why it matters to the business
Attackers can alter protected system state on affected Java deployments, enabling unauthorized actions; known exploitation and a long-past CISA deadline require immediate attention across the large installed base of legacy Java runtimes.
How an attack unfolds
An attacker delivers malicious content that exercises the HotSpot vulnerability, uses reflection and type confusion against MethodHandles to overwrite final fields, disables the security manager, and then performs integrity-violating operations.
How to fix it
Upgrade webkitgtk on Ubuntu 14.04 LTS to 2.4.8-1ubuntu1~ubuntu14.04.1 and on Ubuntu 16.04 LTS to 2.4.9-2ubuntu2; apply equivalent Java SE 7 updates or later that address the HotSpot issue; remove or isolate any remaining vulnerable JRE installations.
How to confirm the fix worked
Confirm package versions match the listed fixed releases, verify Java runtime reports no vulnerable HotSpot components, and re-test permission enforcement on final fields after upgrade.
Typical attack path
- Serve or host malicious Java content to a target
- Trigger the HotSpot type-confusion condition via crafted MethodHandles
- Use reflection to modify public final fields controlling permissions
- Disable the security manager and execute unauthorized actions
How to detect it
Search application and system logs for Java processes performing unusual reflection on final fields or MethodHandles operations around the time of the 2022 KEV deadline; examine process creation events for unexpected security-manager disablement.
What your security team should do
- Apply the exact fixed package versions immediately on all Ubuntu 14.04 and 16.04 systems
- Inventory and replace any remaining Java 7 Update 17 or earlier deployments
- Block Java applets from untrusted sources until upgrades complete
- Review historical logs for signs of security-manager bypass
The record
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 17 and earlier, and OpenJDK 7, allows remote attackers to affect integrity via unknown vectors related to HotSpot. NOTE: the previous information is from the April 2013 CPU. Oracle has not commented on claims from the original researcher that this vulnerability allows remote attackers to bypass permission checks by the MethodHandles method and modify arbitrary public final fields using reflection and type confusion, as demonstrated using integer and double fields to disable the security manager.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Red Hat:enterprise_linux:5::server | java-1.7.0-openjdk | 0 | 1:1.7.0.19-2.3.9.1.el5_9 |
| Red Hat:enterprise_linux:5::server | java-1.7.0-openjdk-debuginfo | 0 | 1:1.7.0.19-2.3.9.1.el5_9 |
| Red Hat:enterprise_linux:5::server | java-1.7.0-openjdk-demo | 0 | 1:1.7.0.19-2.3.9.1.el5_9 |
| Red Hat:enterprise_linux:5::server | java-1.7.0-openjdk-devel | 0 | 1:1.7.0.19-2.3.9.1.el5_9 |
| Red Hat:enterprise_linux:5::server | java-1.7.0-openjdk-javadoc | 0 | 1:1.7.0.19-2.3.9.1.el5_9 |
| Red Hat:enterprise_linux:5::server | java-1.7.0-openjdk-src | 0 | 1:1.7.0.19-2.3.9.1.el5_9 |
| Red Hat:enterprise_linux:6::client | java-1.7.0-openjdk | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::client | java-1.7.0-openjdk-debuginfo | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::client | java-1.7.0-openjdk-demo | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::client | java-1.7.0-openjdk-devel | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::client | java-1.7.0-openjdk-javadoc | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::client | java-1.7.0-openjdk-src | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::computenode | java-1.7.0-openjdk | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::computenode | java-1.7.0-openjdk-debuginfo | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::computenode | java-1.7.0-openjdk-demo | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::computenode | java-1.7.0-openjdk-devel | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::computenode | java-1.7.0-openjdk-javadoc | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::computenode | java-1.7.0-openjdk-src | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::server | java-1.7.0-openjdk | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::server | java-1.7.0-openjdk-debuginfo | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::server | java-1.7.0-openjdk-demo | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::server | java-1.7.0-openjdk-devel | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::server | java-1.7.0-openjdk-javadoc | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::server | java-1.7.0-openjdk-src | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::workstation | java-1.7.0-openjdk | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::workstation | java-1.7.0-openjdk-debuginfo | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::workstation | java-1.7.0-openjdk-demo | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::workstation | java-1.7.0-openjdk-devel | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::workstation | java-1.7.0-openjdk-javadoc | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:enterprise_linux:6::workstation | java-1.7.0-openjdk-src | 0 | 1:1.7.0.19-2.3.9.1.el6_4 |
| Red Hat:rhel_extras:5::server | java-1.7.0-ibm | 0 | 1:1.7.0.4.2-1jpp.1.el5_9 |
| Red Hat:rhel_extras:5::server | java-1.7.0-ibm-demo | 0 | 1:1.7.0.4.2-1jpp.1.el5_9 |
| Red Hat:rhel_extras:5::server | java-1.7.0-ibm-devel | 0 | 1:1.7.0.4.2-1jpp.1.el5_9 |
| Red Hat:rhel_extras:5::server | java-1.7.0-ibm-jdbc | 0 | 1:1.7.0.4.2-1jpp.1.el5_9 |
| Red Hat:rhel_extras:5::server | java-1.7.0-ibm-plugin | 0 | 1:1.7.0.4.2-1jpp.1.el5_9 |
| Red Hat:rhel_extras:5::server | java-1.7.0-ibm-src | 0 | 1:1.7.0.4.2-1jpp.1.el5_9 |
| Red Hat:rhel_extras:5::server | java-1.7.0-oracle | 0 | 1:1.7.0.21-1jpp.1.el5 |
| Red Hat:rhel_extras:5::server | java-1.7.0-oracle-devel | 0 | 1:1.7.0.21-1jpp.1.el5 |
| Red Hat:rhel_extras:5::server | java-1.7.0-oracle-javafx | 0 | 1:1.7.0.21-1jpp.1.el5 |
| Red Hat:rhel_extras:5::server | java-1.7.0-oracle-jdbc | 0 | 1:1.7.0.21-1jpp.1.el5 |
| Red Hat:rhel_extras:5::server | java-1.7.0-oracle-plugin | 0 | 1:1.7.0.21-1jpp.1.el5 |
| Red Hat:rhel_extras:5::server | java-1.7.0-oracle-src | 0 | 1:1.7.0.21-1jpp.1.el5 |
| Red Hat:rhel_extras:6 | java-1.7.0-ibm | 0 | 1:1.7.0.4.2-1jpp.1.el6_4 |
| Red Hat:rhel_extras:6 | java-1.7.0-ibm-demo | 0 | 1:1.7.0.4.2-1jpp.1.el6_4 |
| Red Hat:rhel_extras:6 | java-1.7.0-ibm-devel | 0 | 1:1.7.0.4.2-1jpp.1.el6_4 |
| Red Hat:rhel_extras:6 | java-1.7.0-ibm-jdbc | 0 | 1:1.7.0.4.2-1jpp.1.el6_4 |
| Red Hat:rhel_extras:6 | java-1.7.0-ibm-plugin | 0 | 1:1.7.0.4.2-1jpp.1.el6_4 |
| Red Hat:rhel_extras:6 | java-1.7.0-ibm-src | 0 | 1:1.7.0.4.2-1jpp.1.el6_4 |
| Red Hat:rhel_extras:6 | java-1.7.0-oracle | 0 | 1:1.7.0.21-1jpp.1.el6 |
| Red Hat:rhel_extras:6 | java-1.7.0-oracle-devel | 0 | 1:1.7.0.21-1jpp.1.el6 |
| Red Hat:rhel_extras:6 | java-1.7.0-oracle-javafx | 0 | 1:1.7.0.21-1jpp.1.el6 |
| Red Hat:rhel_extras:6 | java-1.7.0-oracle-jdbc | 0 | 1:1.7.0.21-1jpp.1.el6 |
| Red Hat:rhel_extras:6 | java-1.7.0-oracle-plugin | 0 | 1:1.7.0.21-1jpp.1.el6 |
| Red Hat:rhel_extras:6 | java-1.7.0-oracle-src | 0 | 1:1.7.0.21-1jpp.1.el6 |
| openSUSE:Tumbleweed | java-1_7_0-openjdk | 0 | 1.7.0.121-1.1 |
Related vulnerabilities
- CVE-2016-10165 The Type_MLU_Read function in cmstypes.c in Little CMS (aka lcms2) allows remote… Also affects java-1.7.0-openjdk
- CVE-2017-3241 Vulnerability in the Java SE, Java SE Embedded, JRockit component of Oracle Java SE… Also affects java-1.7.0-openjdk
- CVE-2016-5542 Unspecified vulnerability in Oracle Java SE 6u121, 7u111, 8u102; and Java SE Embedded… Also affects java-1.7.0-openjdk
- CVE-2016-3458 Unspecified vulnerability in Oracle Java SE 6u115, 7u101, and 8u92; and Java SE Embedded… Also affects java-1.7.0-openjdk
- CVE-2016-3427 Unspecified vulnerability in Oracle Java SE 6u113, 7u99, and 8u77; Java SE Embedded 8u77… Also affects java-1.7.0-openjdk
- CVE-2016-0686 Unspecified vulnerability in Oracle Java SE 6u113, 7u99, and 8u77 and Java SE Embedded… Also affects java-1.7.0-openjdk
- CVE-2016-0636 Unspecified vulnerability in Oracle Java SE 7u97, 8u73, and 8u74 allows remote attackers… Also affects java-1.7.0-openjdk
- CVE-2016-0483 Unspecified vulnerability in Oracle Java SE 6u105, 7u91, and 8u66; Java SE Embedded 8u65… Also affects java-1.7.0-openjdk