First published: Wed Mar 12 2014(Updated: )
Florian Weimer discovered that AtomicReferenceFieldUpdater in OpenJDK does not properly check if the field to be updated is of primitive type. An untrusted Java application or applet could use flaw to trigger Java virtual machine memory corruption and possibly bypass Java sandbox restrictions. AtomicReferenceFieldUpdater API documentation: <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.html">http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.html</a> This issue is mitigated by the bug that prevents Atomic*FieldUpdater instances when code runs under security manager restrictions under OpenJDK and Oracle JDK 6 and 7. The bug was fixed in JDK8: <a href="http://bugs.java.com/bugdatabase/view_bug.do?bug_id=7103570">http://bugs.java.com/bugdatabase/view_bug.do?bug_id=7103570</a> <a href="http://bugs.java.com/bugdatabase/view_bug.do?bug_id=7131655">http://bugs.java.com/bugdatabase/view_bug.do?bug_id=7131655</a> <a href="http://hg.openjdk.java.net/jdk8/tl/jdk/rev/48513d156965">http://hg.openjdk.java.net/jdk8/tl/jdk/rev/48513d156965</a> Acknowledgement: This issue was discovered by Florian Weimer of Red Hat Product Security.
Affected Software | Affected Version | How to fix |
---|---|---|
OpenJDK 8 | <8 | |
Oracle JDK 6 | <8 | |
Oracle Java 7 | <8 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of REDHAT-BUG-1075795 is critical due to the risk of memory corruption and potential bypassing of Java sandbox restrictions.
To fix REDHAT-BUG-1075795, update your OpenJDK or JDK to a version that has patched the vulnerability.
REDHAT-BUG-1075795 affects Oracle OpenJDK versions up to, but not including, 8, as well as Oracle JDK 6 and 7.
Yes, an untrusted Java application or applet can exploit REDHAT-BUG-1075795 to trigger memory corruption.
The impact of REDHAT-BUG-1075795 on Java applications includes potential memory corruption and the ability to escape Java's security sandbox.