Free DISA STIG and SRG Library | Vaulted

Java Runtime Environment (JRE) version 7 STIG for Windows 7

Version 1 Release 8
2016-01-22
U_JRE7_WIN7_V1R8_Manual-xccdf.xml
The Java Runtime Environment (JRE) is a bundle developed and offered by Oracle Corporation which includes the Java Virtual Machine (JVM), class libraries, and other components necessary to run Java applications and applets. Certain default settings within the JRE pose a security risk so it is necessary to deploy system wide properties to ensure a higher degree of security when utilizing the JRE.

Vulnerabilities (11)

The dialog enabling users to grant permissions to execute signed content from an un-trusted authority must be disabled.

Finding ID
JRE0001-J72K7
Rule ID
SV-43638r2_rule
Severity
Cat II
CCE
(None)
Group Title
JRE0001 Disable ability to grant permission to untrusted authority
CCI
(None)
Target Key
(None)
Documentable
No
Discussion

Java applets exist both signed and unsigned. Even for signed applets, there can be many sources, some of which may be purveyors of malware. Applet sources considered trusted can have their information populated into the browser, enabling Java to validate applets against trusted sources. Permitting execution of signed Java applets from un-trusted sources may result in acquiring malware, and risks system modification, invasion of privacy, or denial of service.

Fix Text

Disable the 'Allow user to grant permissions to content from an un-trusted authority' feature. Navigate to the 'deployment.properties' file for Java. For 32 bit systems: C:\Program Files\Java\jre7\lib\deployment.properties. For 64 bit systems you must check both the 64 bit and the 32 bit files: C:\Program Files\Java\jre7\lib\deployment.properties C:\Program Files (x86)\Java\jre7\lib\deployment.properties Add or update the key 'deployment.security.askgrantdialog.notinca' to be 'false'.

Check Content

If the system is on the SIPRNET, this requirement is NA. Navigate to the 'deployment.properties' file for Java. For 32 bit systems: C:\Program Files\Java\jre7\lib\deployment.properties For 64 bit systems you must check both the 64 bit and the 32 bit files: C:\Program Files\Java\jre7\lib\deployment.properties C:\Program Files (x86)\Java\jre7\lib\deployment.properties If the key, 'deployment.security.askgrantdialog.notinca=false' is not present, this is a finding. If the key 'deployment.security.askgrantdialog.notinca' exists and is set to true, this is a finding.

IA Controls

DCBP-1

The dialog enabling users to grant permissions to execute signed content from an un-trusted authority must be locked.

Finding ID
JRE0010-J72K7
Rule ID
SV-43639r3_rule
Severity
Cat II
CCE
(None)
Group Title
JRE0010 Lock out option to grant permission to untrusted
CCI
(None)
Target Key
(None)
Documentable
No
Discussion

Java applets exist both signed and unsigned. Even for signed applets, there can be many sources, some of which may be purveyors of malware. Applet sources considered trusted can have their information populated into the browser, enabling Java to validate applets against trusted sources. Permitting execution of signed Java applets from un-trusted sources may result in acquiring malware, and risks system modification, invasion of privacy, or denial of service. Ensuring users cannot change settings contributes to a more consistent security profile.

Fix Text

Lock the 'Allow user to grant permissions to content from an un-trusted authority' feature. Navigate to the 'deployment.properties' file for Java. For 32 bit systems: C:\Program Files\Java\jre7\lib\deployment.properties. For 64 bit systems you must check both the 64 bit and the 32 bit files: C:\Program Files\Java\jre7\lib\deployment.properties C:\Program Files (x86)\Java\jre7\lib\deployment.properties Add the key 'deployment.security.askgrantdialog.notinca.locked' to the deployment.properties file.

Check Content

If the system is on the SIPRNET this requirement is NA. Navigate to the 'deployment.properties' file for Java. For 32 bit systems: C:\Program Files\Java\jre7\lib\deployment.properties. For 64 bit systems you must check both the 64 bit and the 32 bit files: C:\Program Files\Java\jre7\lib\deployment.properties C:\Program Files (x86)\Java\jre7\lib\deployment.properties If the key 'deployment.security.askgrantdialog.notinca.locked' is not present within the deployment.properties file, this is a finding.

IA Controls

DCBP-1

The dialog to enable users to check publisher certificates for revocation must be enabled.

Finding ID
JRE0020-J72K7
Rule ID
SV-43640r3_rule
Severity
Cat II
CCE
(None)
Group Title
JRE0020 Enable revocation check on publisher certificates
CCI
(None)
Target Key
(None)
Documentable
No
Discussion

A certificate revocation list is a directory which contains a list of certificates that have been revoked for various reasons. Certificates may be revoked due to improper issuance, compromise of the certificate, and failure to adhere to policy. Therefore, any certificate found on a CRL should not be trusted. Permitting execution of an applet published with a revoked certificate may result in spoofing, malware, system modification, invasion of privacy, and denial of service.

Fix Text

Enable the 'Check certificates for revocation using Certificate Revocation Lists (CRL)' option. Navigate to the 'deployment.properties' file for Java. For 32 bit systems: C:\Program Files\Java\jre7\lib\deployment.properties. For 64 bit systems you must check both the 64 bit and the 32 bit files: C:\Program Files\Java\jre7\lib\deployment.properties C:\Program Files (x86)\Java\jre7\lib\deployment.properties Add or update the key, 'deployment.security.validation.crl' in the deployment.properties file. Set the value to 'true'.

Check Content

If the system is on the SIPRNET, this requirement is NA. Navigate to the 'deployment.properties' file for Java. For 32 bit systems: C:\Program Files\Java\jre7\lib\deployment.properties. For 64 bit systems you must check both the 64 bit and the 32 bit files: C:\Program Files\Java\jre7\lib\deployment.properties C:\Program Files (x86)\Java\jre7\lib\deployment.properties If the key 'deployment.security.validation.crl' is not present in the deployment.properties file, this is a finding. If the key 'deployment.security.validation.crl' is set to 'false', this is a finding.

IA Controls

DCBP-1

The option to enable users to check publisher certificates for revocation must be locked.

Finding ID
JRE0030-J72K7
Rule ID
SV-43641r4_rule
Severity
Cat II
CCE
(None)
Group Title
JRE0030 Lock the option to check certificates for revocation
CCI
(None)
Target Key
(None)
Documentable
No
Discussion

Certificates may be revoked due to improper issuance, compromise of the certificate, and failure to adhere to policy. Therefore, any certificate found revoked on a CRL or via Online Certificate Status Protocol (OCSP) should not be trusted. Permitting execution of an applet published with a revoked certificate may result in spoofing, malware, system modification, invasion of privacy, and denial of service. Ensuring users cannot change these settings assures a more consistent security profile.

Fix Text

Navigate to the 'deployment.properties' file for Java. For 32 bit systems: C:\Program Files\Java\jre7\lib\deployment.properties. For 64 bit systems you must check both the 64 bit and the 32 bit files: C:\Program Files\Java\jre7\lib\deployment.properties C:\Program Files (x86)\Java\jre7\lib\deployment.properties Add the key 'deployment.security.validation.crl.locked' to the deployment.properties file. Add the key 'deployment.security.validation.ocsp.locked' to the deployment.properties file.

Check Content

If the system is on the SIPRNET, this requirement is NA. Navigate to the 'deployment.properties' file for Java. For 32 bit systems: C:\Program Files\Java\jre7\lib\deployment.properties. For 64 bit systems you must check both the 64 bit and the 32 bit files: C:\Program Files\Java\jre7\lib\deployment.properties C:\Program Files (x86)\Java\jre7\lib\deployment.properties If the key 'deployment.security.validation.crl.locked' is not present in the deployment.properties file, this is a finding. If the key 'deployment.security.validation.ocsp.locked' is not present in the deployment.properties file, this is a finding.

IA Controls

DCBP-1

The option to enable online certificate validation must be enabled.

Finding ID
JRE0040-J72K7
Rule ID
SV-43642r3_rule
Severity
Cat II
CCE
(None)
Group Title
JRE0040 Enable online certificate validation
CCI
(None)
Target Key
(None)
Documentable
No
Discussion

Online certificate validation provides a real-time option to validate a certificate. When enabled, if a certificate is presented, the status of the certificate is requested. The status is sent back as 'current', 'expired', or 'unknown'. Online certificate validation provides a greater degree of validation of certificates when running a signed Java applet. Permitting execution of an applet with an invalid certificate may result in malware, system modification, invasion of privacy, and denial of service.

Fix Text

Enable the 'Enable online certificate validation' option. Navigate to the 'deployment.properties' file for Java. For 32 bit systems: C:\Program Files\Java\jre7\lib\deployment.properties. For 64 bit systems you must check both the 64 bit and the 32 bit files: C:\Program Files\Java\jre7\lib\deployment.properties C:\Program Files (x86)\Java\jre7\lib\deployment.properties Add or update the key 'deployment.security.validation.ocsp' in the deployment.properties file. Set the value to 'true'.

Check Content

If the system is on the SIPRNET, this requirement is NA. Navigate to the 'deployment.properties' file for Java. For 32 bit systems: C:\Program Files\Java\jre7\lib\deployment.properties. For 64 bit systems you must check both the 64 bit and the 32 bit files: C:\Program Files\Java\jre7\lib\deployment.properties C:\Program Files (x86)\Java\jre7\lib\deployment.properties If the key 'deployment.security.validation.ocsp' is not present in the deployment.properties file, this is a finding. If the key 'deployment.security.validation.ocsp' is set to 'false', this is a finding.

IA Controls

DCBP-1

The option to enable online certificate validation must be locked.

Finding ID
JRE0050-J72K7
Rule ID
SV-43643r2_rule
Severity
Cat II
CCE
(None)
Group Title
JRE0050 Lock online certificate validation
CCI
(None)
Target Key
(None)
Documentable
No
Discussion

Online certificate validation provides a real-time option to validate a certificate. When enabled, if a certificate is presented, the status of the certificate is requested. The status is sent back as 'current', 'expired', or 'unknown'. Online certificate validation provides a greater degree of validation of certificates when running a signed Java applet. Permitting execution of an applet with an invalid certificate may result in malware, system modification, invasion of privacy, and denial of service. Ensuring users cannot change settings contributes to a more consistent security profile.

Fix Text

Lock the 'Enable online certificate validation' option. Navigate to the 'deployment.properties' file for Java. For 32 bit systems: C:\Program Files\Java\jre7\lib\deployment.properties. For 64 bit systems you must check both the 64 bit and the 32 bit files: C:\Program Files\Java\jre7\lib\deployment.properties C:\Program Files (x86)\Java\jre7\lib\deployment.properties Add the key 'deployment.security.validation.ocsp.locked' to the deployment.properties file.

Check Content

If the system is on the SIPRNET, this requirement is NA. Navigate to the 'deployment.properties' file for Java. For 32 bit systems: C:\Program Files\Java\jre7\lib\deployment.properties. For 64 bit systems you must check both the 64 bit and the 32 bit files: C:\Program Files\Java\jre7\lib\deployment.properties C:\Program Files (x86)\Java\jre7\lib\deployment.properties If the key 'deployment.security.validation.ocsp.locked' is not present in the deployment.properties, this is a finding.

IA Controls

DCBP-1

The configuration file must contain proper keys and values to deploy settings correctly.

Finding ID
JRE0060-J72K7
Rule ID
SV-43646r2_rule
Severity
Cat II
CCE
(None)
Group Title
JRE0060 The deployment.config file must be properly configured
CCI
(None)
Target Key
(None)
Documentable
No
Discussion

This configuration file must hold values of the location of the deployment.properties file as well as the enforcement of these properties. Without a proper path for the properties file, deployment would not be possible. If the path specified does not lead to a properties file the value of the 'deployment.system.config. mandatory' key determines how to handle the situation. If the value of this key is true, JRE will not run if the path to the properties file is invalid.

Fix Text

If the deployment.config file does not exist, create the file. The deployment.config file is a text file containing 2 keys. They are: deployment.system.config = deployment.system.config.mandatory = On 32-bit systems the deployment config file should be located at: C:\Program Files\Java\jre7\lib\deployment.config On 64-bit systems there can be 2 locations for the deployment.config file. One is for 32 bit JRE and the other for 64 bit JRE: 64 bit - C:\Program Files\Java\jre7\lib\deployment.config 32 bit - C:\Program Files (x86)\Java\jre7\lib\deployment.config Include the following keys and values in the appropriate deployment.config file based upon your system architecture. If you are running both a 32 bit and a 64 bit JRE, you need to update both deployment.config files. The following are examples, drive letters may vary. 32 bit 'deployment.system.config=file:C\:\\Program Files (x86)\\Java\\jre7\\lib\\deployment.properties' 'deployment.system.config.mandatory=false'. 64 bit 'deployment.system.config=file:C\:\\Program Files\\Java\\jre7\\lib\\deployment.properties' 'deployment.system.config.mandatory=false'.

Check Content

Navigate to the deployment.config file: If the deployment.config file does not exist, it must be created. The deployment.config file is a text file containing 2 keys. They are: deployment.system.config = deployment.system.config.mandatory = For 32 bit systems: C:\Program Files\Java\jre7\lib\deployment.config. For 64 bit systems you must check both the 64 bit and the 32 bit config files: C:\Program Files\Java\jre7\lib\deployment.config C:\Program Files (x86)\Java\jre7\lib\deployment.config Verify the 'deployment.system.config' key in the deployment.config file is set to the correct path. Note that the characters : and \ must be delimited by a backslash. The path contained in the deployment.config file(s) will depend upon system architecture. The following paths are examples. Drive letters may vary based upon your system. For 32 bit systems the path is: 'file:C\:\\Program Files\\Java\\jre7\\lib\\deployment.properties' For 64 bit systems the paths are: 'file:C\:\\Program Files\\Java\\jre7\\lib\\deployment.properties' 'file:C\:\\Program Files (x86)\\Java\\jre7\\lib\\deployment.properties' Verify the 'deployment.system.config.mandatory' key in the deployment.config file(s) are set to 'false'. If the 'deployment.system.config' key is not set to the correct path and the 'deployment.system.config.mandatory' key is not set to false, this is a finding.

IA Controls

DCBP-1

A configuration file must be present to deploy properties for JRE.

Finding ID
JRE0070-J72K7
Rule ID
SV-43647r2_rule
Severity
Cat II
CCE
(None)
Group Title
JRE0070 Configuration file must be present
CCI
(None)
Target Key
(None)
Documentable
No
Discussion

The deployment.config file is used for specifying the location and execution of system-level properties for the Java Runtime Environment. By default no deployment.config file exists; thus, no system-wide deployment.properties file exists. 64-bit systems require two copies of the file, one for the 64-bit JRE and the other for the 32-bit JRE. Without the deployment.config file, setting particular options for the Java control panel is impossible.

Fix Text

On 32-bit systems, create a JRE deployment configuration file as indicated: C:\Program Files\Java\jre7\lib\deployment.config On 64-bit systems, create two JRE deployment configuration files as indicated: C:\Program Files\Java\jre7\lib\deployment.config C:\Program Files (x86)\Java\jre7\lib\deployment.config

Check Content

On 32-bit systems, verify that one JRE deployment configuration file exists as indicated: C:\Program Files\Java\jre7\lib\deployment.config On 64-bit systems, verify that two JRE deployment configuration files exist as indicated: C:\Program Files\Java\jre7\lib\deployment.config C:\Program Files (x86)\Java\jre7\lib\deployment.config If the configuration files do not exist as indicated, this is a finding.

IA Controls

DCBP-1

A properties file must be present to hold all the keys that establish properties within the Java control panel.

Finding ID
JRE0080-J72K7
Rule ID
SV-43648r3_rule
Severity
Cat II
CCE
(None)
Group Title
JRE0080 Properties file must exist
CCI
(None)
Target Key
(None)
Documentable
No
Discussion

The deployment.properties file is used for specifying keys for the Java Runtime Environment. Each option in the Java control panel is represented by property keys. These keys adjust the options in the Java control panel based on the value assigned to that key. By default no deployment.properties file exists; thus, no system-wide deployment exists. Without the deployment.properties file, setting particular options for the Java control panel is impossible.

Fix Text

Create the Java deployment properties file. The location of this file can vary. For 32 bit systems: C:\Program Files\Java\jre7\lib\deployment.properties. For 64 bit systems you must check both the 64 bit and the 32 bit files in order for both runtimes to be affected. C:\Program Files\Java\jre7\lib\deployment.properties C:\Program Files (x86)\Java\jre7\lib\deployment.properties Create a properties file entitled 'deployment.properties'. At a minimum, the following keys must be present in the deployment.properties file. deployment.security.askgrantdialog.notinca=false deployment.security.askgrantdialog.notinca.locked deployment.security.validation.crl=true deployment.security.validation.crl.locked deployment.security.validation.ocsp=true deployment.security.validation.ocsp.locked

Check Content

If the system is on the SIPRNET this requirement is NA. Locate the deployment.properties files. For 32 bit systems the path is: 'C:\Program Files\Java\jre7\lib\deployment.properties' For 64 bit systems there are 2 potential paths as there can be 2 separate JRE's one 32 bit and one 64 bit: 'C:\Program Files\Java\jre7\lib\deployment.properties' 'C:\Program Files (x86)\Java\jre7\lib\deployment.properties' If there are no files entitled 'deployment.properties', this is a finding.

IA Controls

DCBP-1

The version of the JRE running on the system must be the most current available.

Finding ID
JRE0090-J72K7
Rule ID
SV-51124r1_rule
Severity
Cat II
CCE
(None)
Group Title
JRE must be the most recent version available.
CCI
(None)
Target Key
(None)
Documentable
No
Discussion

The JRE is being continually updated by the vendor in order to address identified security vulnerabilities. Running an older version of the JRE can introduce security vulnerabilities to the system.

Fix Text

Test applications to ensure operational compatability with new version of Java. Install latest version of Java JRE.

Check Content

Open a terminal window and type the command; "java -version" sans quotes. The return value should contain Java build information; "Java (TM) SE Runtime Environment (build x.x.x.x)" Cross reference the build information on the system with the Oracle Java site to identify the most recent build available. http://www.oracle.com/technetwork/java/javase/downloads/index.html

Potential Impact

Java applications are runtime version dependant. Applications must be tested to ensure compatability with new Java Runtime version prior to applying upgrades to production environment. Failure to test application functionality with the newest version of JRE could result in undesireable results up to and including partial or full application failure.

Responsibility

System Administrator

IA Controls

DCBP-1

Java Runtime Environment (JRE) versions that are no longer supported by the vendor for security updates must not be installed on a system.

Finding ID
JRE9999-J72K7
Rule ID
SV-75507r2_rule
Severity
Cat I
CCE
(None)
Group Title
Unsupported Java Runtime Environment (JRE) applications
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Java Runtime Environment (JRE) versions that are no longer supported by Oracle for security updates are not evaluated or updated for vulnerabilities leaving them open to potential attack. Organizations must transition to a supported Java Runtime Environment (JRE) version to ensure continued support.

Fix Text

Upgrade Java Runtime Environment (JRE) 7 for Windows 7 software to a supported version.

Check Content

Oracle support for Java Runtime Environment (JRE) 7 for Windows 7 ended 2015 April. If JRE 7 for Windows 7 is installed on a system, this is a finding. If an extended support agreement providing security patches for the unsupported product is procured from the vendor, this finding may be downgraded to a CAT III.

IA Controls

DCSQ-1