Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Wiki Markup
Client code can trivially access {{public}} {{static}} non-final fields. Neither reads nor writes are checked by a security manager; further, newly setnew values cannot be validated programmatically before they are stored in the field. Classes loaded by the same or different class loaders can access each others' {{public static}} members; further, unless appropriate protection is installed code from any class can access {{public}} members of any classes loaded by class loaders in the delegation chain of the current class's class loader. For example, consider Java applets \[[Sun 2008|AA. Bibliography#Sun 08]\]:

...

Replacing the function table gives the attacker access to the XPathContext. The XPathContext is used to set the reference node for evaluating XPath expressions. Manipulating it can allow XML fields to be modified in inconsistent ways, resulting in unexpected behavior. Also, because static variables are global across the Java Runtime Environment (JRE), they can be used as a covert communication channel between different application domains (for example, through code loaded by different class loaders).

Note that this vulnerability was repaired in JDK v1.4.2_06 (or whatever).

Compliant Solution

This compliant solution declares the FuncLoader static field final and treats it like a constant.

...