Java, as it stands as a development platform, has had a terrible week in the news due to security issues. The problems keep mounting however, as a researcher has discovered an applet signed with a stolen certificate being used to spread malware, helped by Java’s own default security settings.
Security researcher Eric Romang, in a blog posting published on Tuesday, reveled a Java applet, signed with a stolen key, that was being distributed by a German online dictionary website after the domain was hijacked by the g01pack exploit kit. The applet is the first stage in an attack to install additional malware. The stolen key used to sign the applet itself comes from a legitimate company, Texas-based Clearesult Consulting, and it was revoked last year.
The problem, Romang pointed out, is that Java still detects the applet as trusted, and the platform’s default security settings of High will not automatically prevent it from running.
“…Only unsigned Java app are considered as non-secure, and signed Java app are blocked only with the “Very High” security level. So with the default security level, aka “High” a signed Java app is executed…,” he wrote.
Additional research turned up the fact that revocation checks are turned off by default in Java. Moreover, elevated access to self-signed apps is enabled by default, a rocky combination of settings to say the least.
The moral of the story is that just because it’s signed – don’t trust it implicitly. Enabling revocation checks will prevent the g10pack attack from working with the stolen certificate.