acceptedJava Runtime Environment (JRE) 6 STIG for Windows XPThe 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.
Guidance placed on sunset list 10/24/2014. XP OS no longer supported by vendor.DISA, Field Security OperationsSTIG.DOD.MILRelease: 5 Benchmark Date: 24 Oct 20141I - Mission Critical Classified<ProfileDescription></ProfileDescription>I - Mission Critical Public<ProfileDescription></ProfileDescription>I - Mission Critical Sensitive<ProfileDescription></ProfileDescription>II - Mission Support Classified<ProfileDescription></ProfileDescription>II - Mission Support Public<ProfileDescription></ProfileDescription>II - Mission Support Sensitive<ProfileDescription></ProfileDescription>III - Administrative Classified<ProfileDescription></ProfileDescription>III - Administrative Public<ProfileDescription></ProfileDescription>III - Administrative Sensitive<ProfileDescription></ProfileDescription>JRE0001 Disable ability to grant permission to untrusted authority<GroupDescription></GroupDescription>JRE0001-J6XPThe dialog enabling users to grant permissions to execute signed content from an un-trusted authority must be disabled. <VulnDiscussion>Java applets exist in both signed and unsigned forms. Although signed applets allow for authentication of the author in order to establish trust, even signed applets can potentially contain malware. Applet sources considered trusted will normally have their certificate information populated into the browser. This enables Java to validate applets against trusted sources automatically. Permitting users to grant execution permissions to Java applets signed by un-trusted authorities may result in malware executing on the system. This risks system confidentiality, integrity and availability. </VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls>DCBP-1</IAControls>DPMS Target JRE 6 (1.6)DISA FSODPMS TargetJRE 6 (1.6)2346Disable 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\jre6\lib\deployment.properties
For 64 bit systems you must check both the 64 bit and the 32 bit files:
C:\Program Files\Java\jre6\lib\deployment.properties
C:\Program Files (x86)\Java\jre6\lib\deployment.properties
Add or update the key, 'deployment.security.askgrantdialog.notinca' set the value to 'false'.
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\jre6\lib\deployment.properties
For 64 bit systems you must check both the 64 bit and the 32 bit files:
C:\Program Files\Java\jre6\lib\deployment.properties
C:\Program Files (x86)\Java\jre6\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.
JRE0010 Lock out option to grant permission to untrusted<GroupDescription></GroupDescription>JRE0010-J6XPThe dialog enabling users to grant permissions to execute signed content from an un-trusted authority must be locked. <VulnDiscussion>Java applets exist in both signed and unsigned forms. Although signed applets allow for authentication of the author in order to establish trust, even signed applets can potentially contain malware. Applet sources considered trusted will normally have their certificate information populated into the browser. This enables Java to validate applets against trusted sources automatically. Permitting users to grant execution permissions to Java applets signed by un-trusted authorities may result in malware executing on the system. This risks system confidentiality, integrity and availability. This option must be locked so the user cannot make changes.
Ensuring users cannot change settings contributes to a more consistent security profile.
</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls>DCBP-1</IAControls>DPMS Target JRE 6 (1.6)DISA FSODPMS TargetJRE 6 (1.6)2346Lock 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\jre6\lib\deployment.properties.
For 64 bit systems you must check both the 64 bit and the 32 bit files:
C:\Program Files\Java\jre6\lib\deployment.properties
C:\Program Files (x86)\Java\jre6\lib\deployment.properties
Add the key 'deployment.security.askgrantdialog.notinca.locked' to the deployment.properties file. Navigate to the 'deployment.properties' file for Java.
For 32 bit systems:
C:\Program Files\Java\jre6\lib\deployment.properties.
For 64 bit systems you must check both the 64 bit and the 32 bit files:
C:\Program Files\Java\jre6\lib\deployment.properties
C:\Program Files (x86)\Java\jre6\lib\deployment.properties
If the key 'deployment.security.askgrantdialog.notinca.locked' is not present, this is a finding.
JRE0020 Enable revocation check on publisher certificates<GroupDescription></GroupDescription>JRE0020-J6XPThe dialog to enable users to check publisher certificates for revocation must be enabled.
<VulnDiscussion>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. </VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls>DCBP-1</IAControls>DPMS Target JRE 6 (1.6)DISA FSODPMS TargetJRE 6 (1.6)2346If the system is on the SIPRNET, this requirement is NA.
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\jre6\lib\deployment.properties.
For 64 bit systems you must check both the 64 bit and the 32 bit files:
C:\Program Files\Java\jre6\lib\deployment.properties
C:\Program Files (x86)\Java\jre6\lib\deployment.properties
Add or update the key
'deployment.security.validation.crl' in the deployment.properties file. Set the value to 'true'.
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\jre6\lib\deployment.properties.
For 64 bit systems you must check both the 64 bit and the 32 bit files:
C:\Program Files\Java\jre6\lib\deployment.properties
C:\Program Files (x86)\Java\jre6\lib\deployment.properties
If the key 'deployment.security.validation.crl' is not present within the deployment.properties file, this is a finding.
If the key 'deployment.security.validation.crl' is set to 'false', this is a finding.
JRE0030 Lock the option to check certificates for revocation<GroupDescription></GroupDescription>JRE0030-J6XPThe option to enable users to check publisher certificates for revocation must be locked.
<VulnDiscussion>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.
</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls>DCBP-1</IAControls>DPMS Target JRE 6 (1.6)DISA FSODPMS TargetJRE 6 (1.6)2346Navigate to the 'deployment.properties' file for Java.
For 32 bit systems:
C:\Program Files\Java\jre6\lib\deployment.properties.
For 64 bit systems you must check both the 64 bit and the 32 bit files:
C:\Program Files\Java\jre6\lib\deployment.properties
C:\Program Files (x86)\Java\jre6\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. 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\jre6\lib\deployment.properties.
For 64 bit systems you must check both the 64 bit and the 32 bit files:
C:\Program Files\Java\jre6\lib\deployment.properties
C:\Program Files (x86)\Java\jre6\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.revocation.check.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.JRE0040 Enable online certificate validation<GroupDescription></GroupDescription>JRE0040-J6XPThe option to enable online certificate validation must be enabled.
<VulnDiscussion>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. </VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls>DCBP-1</IAControls>DPMS Target JRE 6 (1.6)DISA FSODPMS TargetJRE 6 (1.6)2346If the system is on the SIPRNET, this requirement is NA.
Enable the 'Enable online certificate validation' option.
Navigate to the 'deployment.properties' file for Java.
For 32 bit systems:
C:\Program Files\Java\jre6\lib\deployment.properties.
For 64 bit systems you must check both the 64 bit and the 32 bit files:
C:\Program Files\Java\jre6\lib\deployment.properties
C:\Program Files (x86)\Java\jre6\lib\deployment.properties
Add or update the key
'deployment.security.validation.ocsp' in the deployment.properties file. Set the value to 'true'.
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\jre6\lib\deployment.properties.
For 64 bit systems you must check both the 64 bit and the 32 bit files:
C:\Program Files\Java\jre6\lib\deployment.properties
C:\Program Files (x86)\Java\jre6\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.JRE0050 Lock online certificate validation<GroupDescription></GroupDescription>JRE0050-J6XPThe option to enable online certificate validation must be locked.
<VulnDiscussion>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.
</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls>DCBP-1</IAControls>DPMS Target JRE 6 (1.6)DISA FSODPMS TargetJRE 6 (1.6)2346If the system is on the SIPRNET, this requirement is NA.
Lock the 'Enable online certificate validation' option.
Navigate to the 'deployment.properties' file for Java.
For 32 bit systems:
C:\Program Files\Java\jre6\lib\deployment.properties.
For 64 bit systems you must check both the 64 bit and the 32 bit files:
C:\Program Files\Java\jre6\lib\deployment.properties
C:\Program Files (x86)\Java\jre6\lib\deployment.properties
Add the key 'deployment.security.validation.ocsp.locked' to the deployment.properties file.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\jre6\lib\deployment.properties.
For 64 bit systems you must check both the 64 bit and the 32 bit files:
C:\Program Files\Java\jre6\lib\deployment.properties
C:\Program Files (x86)\Java\jre6\lib\deployment.properties
If the key 'deployment.security.validation.ocsp.locked' is not present in the deployment.properties file, this is a finding.
JRE0060 The deployment.config file must be properly configured<GroupDescription></GroupDescription>JRE0060-J6XPThe configuration file must contain proper keys and values to deploy settings correctly. <VulnDiscussion>The deployment.config file is used to specify the location of the deployment.properties file and for controlling the launch of the JRE runtime. By default, these two files do not exist, they must both be created.
Without a proper path to the deployment.properties file, deployment settings will fail. If the path specified in deployment.config does not lead to a deployment.properties file, then the value of the 'deployment.system.config.mandatory' key contained in deployment.config will determine 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. </VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls>DCBP-1</IAControls>DPMS Target JRE 6 (1.6)DISA FSODPMS TargetJRE 6 (1.6)2346If 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\jre6\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\jre6\lib\deployment.config
32 bit - C:\Program Files (x86)\Java\jre6\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 check both deployment.config files. The following are examples, drive letters may be vary.
32 bit
'deployment.system.config=file:C\:\\Program Files (x86)\\Java\\jre6\\lib\\deployment.properties'
'deployment.system.config.mandatory=false'.
64 bit
'deployment.system.config=file:C\:\\Program Files\\Java\\jre6\\lib\\deployment.properties'
'deployment.system.config.mandatory=false'.
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\jre6\lib\deployment.config.
For 64 bit systems you must check both the 64 bit and the 32 bit config files:
C:\Program Files\Java\jre6\lib\deployment.config
C:\Program Files (x86)\Java\jre6\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\\jre\\lib\\deployment.properties'
For 64 bit systems the paths are:
'file:C\:\\Program Files\\Java\\jre\\lib\\deployment.properties'
'file:C\:\\Program Files (x86)\\Java\\jre\\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.
JRE0070 Configuration file must be present<GroupDescription></GroupDescription>JRE0070-J6XPA configuration file must be present to deploy properties for JRE. <VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls>DCBP-1</IAControls>DPMS Target JRE 6 (1.6)DISA FSODPMS TargetJRE 6 (1.6)2346On 32-bit systems, create a JRE deployment configuration file as indicated:
C:\Program Files\Java\jre6\lib\deployment.config
On 64-bit systems, create two JRE deployment configuration files as indicated:
C:\Program Files\Java\jre6\lib\deployment.config
C:\Program Files (x86)\Java\jre6\lib\deployment.config
The deployment.config file is a text file containing 2 keys. The keys are:
deployment.system.config =
deployment.system.config.mandatory =
On 32-bit systems, verify that one JRE deployment configuration file exists as indicated:
C:\Program Files\Java\jre6\lib\deployment.config
On 64-bit systems, verify that two JRE deployment configuration files exist as indicated, one for 32 bit and one for 64 bit:
C:\Program Files\Java\jre6\lib\deployment.config
C:\Program Files (x86)\Java\jre6\lib\deployment.config
If the configuration files do not exist as indicated, this is a finding.
JRE0080 Properties file must exist<GroupDescription></GroupDescription>JRE0080-J6XPA properties file must be present to hold all the keys that establish properties within the Java control panel. <VulnDiscussion>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. </VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls>DCBP-1</IAControls>DPMS Target JRE 6 (1.6)DISA FSODPMS TargetJRE 6 (1.6)2346Create the Java deployment properties file. The location of this file can vary.
For 32 bit systems:
C:\Program Files\Java\jre6\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\jre6\lib\deployment.properties
C:\Program Files (x86)\Java\jre6\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
Locate the deployment.properties files.
For 32 bit systems the path is:
'C:\Program Files\Java\jre6\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\jre6\lib\deployment.properties'
'C:\Program Files (x86)\Java\jre6\lib\deployment.properties'
If there are no files entitled 'deployment.properties', this is a finding.
JRE must be the most recent version available.<GroupDescription></GroupDescription>JRE0090-J6XPThe version of the JRE running on the system must be the most current available.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts>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.</PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility>System Administrator</Responsibility><IAControls>DCBP-1</IAControls>DPMS Target JRE 6 (1.6)DISA FSODPMS TargetJRE 6 (1.6)2346Test applications to ensure operational compatability with new version of Java.
Install latest version of Java JRE.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.htmlUnsupported JRE Operating System Platform<GroupDescription></GroupDescription>JRE9999-UNSPTD-OSThe Java Runtime Environment (JRE) must not be installed on an unsupported operating system.<VulnDiscussion>Security updates are the standard method for addressing discovered vulnerabilities. The operating system platform the JRE is installed on must be supported for security updates or the OS becomes a threat vector that can negatively impact the JRE. Organizations must run the JRE on a supported OS version to ensure security updates are available and to mitigate threats to the JRE.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility>System Administrator</Responsibility><IAControls>DCSQ-1</IAControls>DPMS Target JRE 6 (1.6)DISA FSODPMS TargetJRE 6 (1.6)2346Upgrade the operating system platform the JRE is installed on to a supported OS version.Check the OS version to ensure it is supported by the vendor.
Microsoft support for Windows XP ended April 8 2014. If the JRE is installed on an XP system, this is a finding.