Jody Grassel created OPENJPA-2672:
-------------------------------------

             Summary: ConfigurationImpl.loadGlobals() has 
java.util.ConcurrentModificationException vulnerability
                 Key: OPENJPA-2672
                 URL: https://issues.apache.org/jira/browse/OPENJPA-2672
             Project: OpenJPA
          Issue Type: Bug
          Components: lib
    Affects Versions: 2.2.3
            Reporter: Jody Grassel
            Assignee: Jody Grassel


The following block in the loadGlobals() method:

        // let system properties override other globals
        try {
            fromProperties(new HashMap(
                AccessController.doPrivileged(
                    J2DoPrivHelper.getPropertiesAction())));

retrieves a Properties object from System.getProperties(), which is passed to 
HashMap's ctor.  The ctor interacts with an enumerator associated with the 
Properties object to populate the new HashMap instance.  However, if another 
thread mutates the JVM's System Properties, it can result in a 
ConcurrentModificationException as observed below:

Caused by: java.util.ConcurrentModificationException
    at java.util.Hashtable$Enumerator.next(Hashtable.java:1256)
    at java.util.HashMap.putAllForCreate(HashMap.java:566)
    at java.util.HashMap.<init>(HashMap.java:310)
    at 
org.apache.openjpa.lib.conf.ConfigurationImpl.loadGlobals(ConfigurationImpl.java:189)




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to