Free DISA STIG and SRG Library | Vaulted

Java Runtime Environment (JRE) version 8 STIG for Windows

Version 1 Release 53
2018-01-262017-01-27
U_Oracle_JRE_8_Windows_STIG_V1R53_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.

Compare Summary

Compare V1R5 to V1R3
  • All
  • Updated 12
  • Added 0
  • Removed 0

Vulnerabilities (16)

Oracle JRE 8 must have a deployment.config file present.

Finding ID
JRE8-WN-000010
Rule ID
SV-81429r4_rule81429r2_rule
Severity
Cat II
CCE
(None)
Group Title
SRG-APP-000516
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

By default no deployment.config file exists; thus, no system-wide deployment.properties file exists. The file must be created. The deployment.config file is used for specifying the location and execution of system-level properties for the Java Runtime Environment. Without the deployment.config file, setting particular options for the Java control panel is impossible. The deployment.config file can be created in either of the following locations: <Windows Directory>\Sun\Java\Deployment\deployment.config - or - <JRE Installation Directory>\lib\deployment.config

Fix Text

ByNo default, no "deployment.config" file exists; a text file must be created. Create a JRE deployment configuration file inas eitherindicated: <Windows Directory>\Sun\Java\Deployment\deployment.config - or - <JRE Installation Directory>\Lib\deployment.config

Check Content

ByVerify default,a noJRE "deployment.config" configuration file exists; itas mustindicated: be<JRE created.Installation Verify a "Directory>\Lib\deployment.config" configurationThe filedefault existsinstallation indirectory either:is <WindowsC:\Program Directory>\SunFiles\Java\Deploymentjre1.8.x_x\deployment.config - or -C:\Program <JREFiles Installation Directory>\Lib(x86)\deploymentJava\jre1.config8.x_x\ If the "deployment.config" configuration file does not exist inas either of these foldersindicated, this is a finding.

Oracle JRE 8 deployment.config file must contain proper keys and values.

Finding ID
JRE8-WN-000020
Rule ID
SV-81431r3_rule81431r1_rule
Severity
Cat II
CCE
(None)
Group Title
SRG-APP-000516
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The deployment.config configuration file contains two keys. The "deployment.properties" key includes the path of the "deployment.properties" file and the "deployment.properties.mandatory" key contains either a TRUE or FALSE value. If the path specified to "deployment.properties" does not lead to a "deployment.properties" file, the value of the “deployment.system.config.mandatory” key determines how JRE will handle the situation. If the value of the "deployment.system.config.mandatory" key is TRUE and if the path to the "deployment.properties" file is invalid, the JRE will not allow Java applications to run. This is the desired behavior.

Fix Text

Navigate to the "deployment.config" file for JRE: <JRE Installation Directory>\Lib\deployment.config Add the key "deployment.system.config=<Path to deployment.properties>">” to the "deployment.config" file. The following is an example: "deployment.system.config=file:///C:/Windows/Java/Deployment/deployment.properties". Note the use of forward slashes. Add the key "deployment.system.config.mandatory=true" to the "deployment.config" file.

Check Content

Navigate to the "deployment.config" file for Java: <WindowsJRE Installation Directory>\SunLib\Java\Deployment\deployment.config -The ordefault -installation <JREdirectory Installationis Directory>\LibC:\Program Files\deploymentJava\jre1.config8.x_x\ or C:\Program Files (x86)\Java\jre1.8.x_x\ The "deployment.config" file contains two properties: deployment.system.config and deployment.system.config.mandatory. The "deployment.system.config" key points to the location of the "deployment.properties" file. The location is variable. It can point to a file on the local disk, or a UNC path. The following is an example: "deployment.system.config=file:///C:/Windows/Java/Deployment/deployment.properties" If the "deployment.system.config" key does not exist or does not point to the location of the "deployment.properties" file, this is a finding. If the "deployment.system.config.mandatory" key does not exist or is set to "false", this is a finding.

Oracle JRE 8 must have a deployment.properties file present.

Finding ID
JRE8-WN-000030
Rule ID
SV-81433r2_rule81433r1_rule
Severity
Cat II
CCE
(None)
Group Title
SRG-APP-000516
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

By default no deployment.properties file exists; thus, no system-wide deployment exists. The file must be created. 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. Without the deployment.properties file, setting particular options for the Java control panel is impossible.

Fix Text

Create the JRE "deployment.properties" file: No default file exists. A text file named "deployment.properties", and the directory structure in which it is located, must be manually created. The location must be aligned as defined in the "<JRE Installation Directory>\Lib\deployment.config" file. C:\Windows\Java\Deployment\deployment.properties is an example.

Check Content

Navigate to the system-level "deployment.properties" file for JRE. The location of the "deployment.properties" file is defined in the<JRE "Installation Directory>\Lib\deployment.config" file. If there are no files titledentitled "deployment.properties",”, this is a finding.

Oracle JRE 8 must default to the most secure built-in setting.

Finding ID
JRE8-WN-000060
Rule ID
SV-81435r2_rule81435r1_rule
Severity
Cat III
CCE
(None)
Group Title
SRG-APP-000516
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Applications that are signed with a valid certificate and include the permissions attribute in the manifest for the main JAR file are allowed to run with security prompts. All other applications are blocked. Unsigned applications could perform numerous types of attacks on a system.

Fix Text

Navigate to the system-level "deployment.properties" file for JRE. The location of the deployment.properties file is defined in <JRE Installation Directory>\Lib\deployment.config Add the key "deployment.security.level=VERY_HIGH" to the "deployment.properties" file. Add the key "deployment.security.level.locked" to the "deployment.properties" file.

Check Content

Navigate to the system-level "deployment.properties" file for JRE. <WindowsThe Directory>\Sun\Java\Deployment\location of the deployment.properties -file oris -defined in <JRE Installation Directory>\Lib\deployment.propertiesconfig If the key "deployment.security.level=VERY_HIGH" is not present in the "deployment.properties file", or is set to "HIGH",”, this is a finding. If the key "deployment.security.level.locked" is not present in the "deployment.properties" file, this is a finding.

Oracle JRE 8 must be set to allow Java Web Start (JWS) applications.

Finding ID
JRE8-WN-000070
Rule ID
SV-81437r3_rule81437r1_rule
Severity
Cat II
CCE
(None)
Group Title
SRG-APP-000516
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Java Web Start (JWS) applications are the most commonly used. Denying these applications could be detrimental to the user experience. Whitelisting, blacklisting, and signing of applications help mitigate the risk of running JWS applications.

Fix Text

Navigate to the system-level “deployment.properties” file for JRE. The location of the deployment.properties file is defined in <JRE Installation Directory>\Lib\deployment.config Add the key “deployment.webjava.enabled=true” to the deployment.properties file. Add the key “deployment.webjava.enabled.locked” to the deployment.properties file. Note: If JWS is not enabled, this requirement is NA.

Check Content

Navigate to the system-level “deployment.properties” file for JRE. The location of the deployment.properties file is defined in <JRE Installation Directory>\Lib\deployment.config If the key “deployment.webjava.enabled=true” is not present in the deployment.properties file, or is set to “false”, this is a finding. If the key “deployment.webjava.enabled.locked” is not present in the deployment.properties file, this is a finding. Note: If JWS is not enabled, this requirement is NA.

Oracle JRE 8 must disable the dialog enabling users to grant permissions to execute signed content from an untrusted authority.

Finding ID
JRE8-WN-000080
Rule ID
SV-81439r2_rule81439r1_rule
Severity
Cat II
CCE
(None)
Group Title
SRG-APP-000112
CCI
CCI-001695
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 untrusted sources may result in acquiring malware, and risks system modification, invasion of privacy, or denial of service.

Fix Text

If the system is on the SIPRNet, this requirement is NA. Disable the "Allow user to grant permissions to content from an untrusted authority" feature. Navigate to the system-level "deployment.properties" file for JRE. The location of the deployment.properties file is defined in <JRE Installation Directory>\Lib\deployment.config Add the key "deployment.security.askgrantdialog.notinca=false" to the "deployment.properties" file. 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 system-level "deployment.properties" file for Java. <WindowsThe Directory>\Sun\Java\Deployment\location of the deployment.properties -file oris -defined in <JRE Installation Directory>\Lib\deployment.propertiesconfig If the key, "deployment.security.askgrantdialog.notinca=false" is not present, this is a finding. If the key, "deployment.security.askgrantdialog.notinca.locked" is not present, this is a finding. If the key "deployment.security.askgrantdialog.notinca" exists and is set to "true", this is a finding.

Oracle JRE 8 must lock the dialog enabling users to grant permissions to execute signed content from an untrusted authority.

Finding ID
JRE8-WN-000090
Rule ID
SV-81441r2_rule81441r1_rule
Severity
Cat II
CCE
(None)
Group Title
SRG-APP-000112
CCI
CCI-001695
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 untrusted 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

If the system is on the SIPRNet, this requirement is NA. Lock the "Allow user to grant permissions to content from an untrusted authority" feature. Navigate to the system-level "deployment.properties" file for JRE. The location of the deployment.properties file is defined in <JRE Installation Directory>\Lib\deployment.config Add the key "deployment.security.askgrantdialog.show=false" to the "deployment.properties" file. Add the key "deployment.security.askgrantdialog.show.locked" to the "deployment.properties" file.

Check Content

If the system is on the SIPRNet, this requirement is NA. Navigate to the system-level "deployment.properties" file for JRE. <WindowsThe Directory>\Sun\Java\Deployment\location of the deployment.properties -file oris -defined in <JRE Installation Directory>\Lib\deployment.propertiesconfig If the key, "deployment.security.askgrantdialog.show=false" is not present, this is a finding. If the key, "deployment.security.askgrantdialog.show.locked" is not present, this is a finding. If the key "deployment.security.askgrantdialog.show" exists and is set to "true", this is a finding.

Oracle JRE 8 must set the option to enable online certificate validation.

Finding ID
JRE8-WN-000100
Rule ID
SV-81443r2_rule81443r1_rule
Severity
Cat II
CCE
(None)
Group Title
SRG-APP-000175
CCI
CCI-000185
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

If the system is on the SIPRNet, this requirement is NA. Navigate to the system-level "deployment.properties" file for JRE. The location of the deployment.properties file is defined in <JRE Installation Directory>\Lib\deployment.config Add the key "deployment.security.validation.ocsp=true" 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 system-level "deployment.properties" file for JRE. <WindowsThe Directory>\Sun\Java\Deployment\location of the deployment.properties -file oris -defined in <JRE Installation Directory>\Lib\deployment.propertiesconfig If the key "deployment.security.validation.ocsp=true" 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. If the key "deployment.security.validation.ocsp" is set to "false",”, this is a finding.

Oracle JRE 8 must prevent the download of prohibited mobile code.

Finding ID
JRE8-WN-000110
Rule ID
SV-81445r2_rule81445r1_rule
Severity
Cat II
CCE
(None)
Group Title
SRG-APP-000209
CCI
CCI-001169
Target Key
(None)
Documentable
No
Discussion

Decisions regarding the employment of mobile code within organizational information systems are based on the potential for the code to cause damage to the system if used maliciously. Mobile code is defined as software modules obtained from remote systems, transferred across a network, and then downloaded and executed on a local system without explicit installation or execution by the recipient. Usage restrictions and implementation guidance apply to both the selection and use of mobile code installed, downloaded, or executed on all endpoints (e.g., servers, workstations, and smart phones). This requirement applies to applications that execute, evaluate, or otherwise process mobile code (e.g., web applications, browsers, and anti-virus applications).

Fix Text

Navigate to the system-level "deployment.properties" file for JRE. The location of the deployment.properties file is defined in <JRE Installation Directory>\Lib\deployment.config Add the key "deployment.security.blacklist.check=true" to the "deployment.properties" file. Add the key "deployment.security.blacklist.check.locked" to the "deployment.properties" file.

Check Content

Navigate to the system-level "deployment.properties" file for JRE. <WindowsThe Directory>\Sun\Java\Deployment\location of the deployment.properties -file oris -defined in <JRE Installation Directory>\Lib\deployment.propertiesconfig If the key "deployment.security.blacklist.check=true" is not present in the "deployment.properties" file, or is set to "false",”, this is a finding. If the key "deployment.security.blacklist.check.locked" is not present in the "deployment.properties" file, this is a finding.

Oracle JRE 8 must enable the option to use an accepted sites list.

Finding ID
JRE8-WN-000120
Rule ID
SV-81447r3_rule81447r2_rule
Severity
Cat II
CCE
(None)
Group Title
SRG-APP-000386
CCI
CCI-001774
Target Key
(None)
Documentable
No
Discussion

Utilizing a whitelist provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities. The organization must identify authorized software programs and permit execution of authorized software. The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as whitelisting. Verification of whitelisted software can occur either prior to execution or at system startup. This requirement applies to configuration management applications or similar types of applications designed to manage system processes and configurations (e.g., HBSS and software wrappers).

Fix Text

Navigate to the system-level "deployment.properties" file for JRE. The location of the deployment.properties file is defined in <JRE Installation Directory>\Lib\deployment.config Add the key "deployment.user.security.exception.sites=C\:\\WindowsProgram Files\\Sun\\Java\\Deploymentjre1.8.x.x\\Lib\exception.sites" to the "deployment.properties" file.

Check Content

Navigate to the system-level "deployment.properties" file for JRE. <WindowsThe Directory>\Sun\Java\Deployment\location of the deployment.properties -file oris -defined in <JRE Installation Directory>\Lib\deployment.propertiesconfig If the key "deployment.user.security.exception.sites" is not present in the "deployment.properties" file, this is a finding. If the key "deployment.user.security.exception.sites" is not set to the location of the "exception.sites" file, this is a finding. An example of a correct setting is: deployment.user.security.exception.sites=C\:\\WindowsProgramFiles\\Sun\\Java\\Deploymentjre1.8.x.x\\Lib\\exception.sites

Oracle JRE 8 must enable the dialog to enable users to check publisher certificates for revocation.

Finding ID
JRE8-WN-000150
Rule ID
SV-81451r2_rule81451r1_rule
Severity
Cat II
CCE
(None)
Group Title
SRG-APP-000401
CCI
CCI-001991
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

If the system is on the SIPRNet, this requirement is NA. Enable the "Check certificates for revocation using If 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 system-level "deployment.properties" file for JRE. The location of the deployment.properties file is defined in <JRE Installation Directory>\Lib\deployment.config Add the key "deployment.security.validation.crl=true" to the "deployment.properties" file. Add the key "deployment.security.validation.crl.locked" to the "deployment.properties" file.

Check Content

If the system is on the SIPRNet, this requirement is NA. Navigate to the system-level "deployment.properties" file for JRE. <WindowsThe Directory>\Sun\Java\Deployment\location of the deployment.properties -file oris -defined in <JRE Installation Directory>\Lib\deployment.propertiesconfig If the key "deployment.security.validation.crl=true" is not present in the "deployment.properties" file, or is set to "false",”, this is a finding. If the key "deployment.security.validation.crl.locked" is not present in the "deployment.properties" file, this is a finding.

Oracle JRE 8 must prompt the user for action prior to executing mobile code.

Finding ID
JRE8-WN-000170
Rule ID
SV-81453r2_rule81453r1_rule
Severity
Cat II
CCE
(None)
Group Title
SRG-APP-000488
CCI
CCI-002460
Target Key
(None)
Documentable
No
Discussion

Mobile code can cause damage to the system. It can execute without explicit action from, or notification to, a user. Actions enforced before executing mobile code include, for example, prompting users prior to opening email attachments and disabling automatic execution. This requirement applies to mobile code-enabled software, which is capable of executing one or more types of mobile code.

Fix Text

Navigate to the system-level "deployment.properties" file for JRE. The location of the deployment.properties file is defined in <JRE Installation Directory>\Lib\deployment.config Add the key "deployment.insecure.jres=PROMPT" to the "deployment.properties" file. Add the key "deployment.insecure.jres.locked" to the "deployment.properties" file.

Check Content

Navigate to the system-level "deployment.properties" file for JRE. <WindowsThe Directory>\Sun\Java\Deployment\location of the deployment.properties -file oris -defined in <JRE Installation Directory>\Lib\deployment.propertiesconfig If the key "deployment.insecure.jres=PROMPT" is not present in the "deployment.properties" file, this is a finding. If the key "deployment.insecure.jres.locked" is not present in the "deployment.properties" file, this is a finding. If the key "deployment.insecure.jres" is set to "NEVER",”, this is a finding.

Oracle JRE 8 must lock the option to enable users to check publisher certificates for revocation.

Finding ID
JRE8-WN-000160
Rule ID
SV-81213r1_rule
Severity
Cat II
CCE
(None)
Group Title
SRG-APP-000516
CCI
CCI-001991
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

If the system is on the SIPRNet, this requirement is NA. Navigate to the system-level “deployment.properties” file for JRE. The location of the deployment.properties file is defined in <JRE Installation Directory>\Lib\deployment.config Add the key “deployment.security.revocation.check=ALL_CERTIFICATES” to the deployment.properties file. Add the key “deployment.security.revocation.check.locked” to the deployment.properties file.

Check Content

If the system is on the SIPRNet, this requirement is NA. Navigate to the system-level “deployment.properties” file for JRE. The location of the deployment.properties file is defined in <JRE Installation Directory>\Lib\deployment.config If the key “deployment.security.revocation.check=ALL_CERTIFICATES” is not present, or is set to “PUBLISHER_ONLY”, or “NO_CHECK”, this is a finding. If the key “deployment.security.revocation.check.locked” is not present, this is a finding.

Oracle JRE 8 must have an exception.sites file present.

Finding ID
JRE8-WN-000130
Rule ID
SV-81449r2_rule
Severity
Cat II
CCE
(None)
Group Title
SRG-APP-000386
CCI
CCI-001774
Target Key
(None)
Documentable
No
Discussion

Utilizing a whitelist provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities. The organization must identify authorized software programs and permit execution of authorized software. The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as whitelisting. Verification of whitelisted software can occur either prior to execution or at system startup. This requirement applies to configuration management applications or similar types of applications designed to manage system processes and configurations (e.g., HBSS and software wrappers).

Fix Text

If the system is on the SIPRNet, this requirement is NA. Create the JRE exception.sites file: No default file exists. A text file named exception.sites, and the directory structure in which it is located must be manually created. The location must be aligned as defined in the deployment.properties file. C:\Windows\Java\Deployment\deployment.properties is an example.

Check Content

If the system is on the SIPRNet, this requirement is NA. Navigate to the “exception.sites” file for Java: The location of the "exception.sites" file is defined in the deployment.properties file. The "exception.sites" file is a text file containing single-line URLs for accepted risk sites. If there are no AO approved sites to be added to the configuration, it is acceptable for this file to be blank. If the “exception.sites” file does not exist, this is a finding. If the “exception.sites” file contains URLs that are not AO approved, this is a finding. Note: DeploymentRuleSet.jar is an acceptable substitute for using exception.sites. Interview the SA to view contents of the "DeploymentRuleSet.jar" file to ensure any AO approved sites are whitelisted.

Oracle JRE 8 must remove previous versions when the latest version is installed.

Finding ID
JRE8-WN-000190
Rule ID
SV-81455r1_rule
Severity
Cat II
CCE
(None)
Group Title
SRG-APP-000454
CCI
CCI-002617
Target Key
(None)
Documentable
No
Discussion

Previous versions of software components that are not removed from the information system after updates have been installed may be exploited by adversaries. Some information technology products may remove older versions of software automatically from the information system.

Fix Text

Remove previous versions of JRE. Open the Windows Control Panel, and navigate to "Programs and Features". Highlight, and click uninstall on all out of date instances of JRE.

Check Content

Review the system configuration to ensure old versions of JRE have been removed. Open the Windows Control Panel, and navigate to "Programs and Features". Ensure only one instance of JRE is in the list of installed software. If more than one instance of JRE is listed, this is a finding. Note: A 32 and 64 bit version of the same instance is acceptable.

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

Finding ID
JRE8-WN-000180
Rule ID
SV-81457r1_rule
Severity
Cat I
CCE
(None)
Group Title
SRG-APP-000456
CCI
CCI-002605
Target Key
(None)
Documentable
No
Discussion

Oracle JRE 8 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 compatibility with new version of Java. Install latest version of Oracle JRE 8.

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. If the version of Oracle JRE 8 running on the system is out of date, this is a finding.