Java


JAVA.INSEC.DTP : Deprecated Transfer Protocol (Java)

Summary

An unsafe or deprecated transfer protocol is used inside a transfer method.

Properties

Class Name Deprecated Transfer Protocol (Java)
Significance security
Mnemonic JAVA.INSEC.DTP
Categories
CWE CWE:757 Selection of Less-Secure Algorithm During Negotiation ('Algorithm Downgrade')
OWASP-2017 OWASP-2017:A9 Using components with known vulnerabilities
OWASP-2021 OWASP-2021:A6 Vulnerable and outdated components
Availability Available for Java only.
Enabling Checks for this warning class are disabled by default. To enable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += allow class="Deprecated Transfer Protocol (Java)"

Example

import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.Provider;

public class UnsafeTransferProtocol{

  public void transferProtocol(Provider p) throws NoSuchAlgorithmException, NoSuchProviderException {
      javax.net.ssl.SSLContext.getInstance("TLSv1.1");           // "Deprecated Transfer Protocol (Java)" warning issued here
      javax.net.ssl.SSLContext.getInstance("SSL","my_provider"); // "Deprecated Transfer Protocol (Java)" warning issued here
      javax.net.ssl.SSLContext.getInstance("SSL3",p);            // "Deprecated Transfer Protocol (Java)" warning issued here
      javax.net.ssl.SSLContext.getInstance("TLSv1.3",p);
  }
}

Resolution

Parameterize it in a configuration file.

Use safer protocols.

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.