Skip to main content

Insecure encryption algorithm - Perfect Forward Secrecy

Description

The application uses cipher algorithms that expose all messages made during the communication if the current private key is compromised.

Impact

Obtain sensitive information that is being transmitted or has been stored.

Recommendation

Enable Perfect-Forward-Secrecy in the server side, by allowing Ciphersuites that contain DHE and ECDHE on its names.

Threat

Unauthorized attacker from adjacent network that has compromised a private key.

Expected Remediation Time

⌚ 15 minutes.

Score

Default score using CVSS 3.1. It may change depending on the context of the vulnerability.

Base

  • Attack vector: A
  • Attack complexity: H
  • Privileges required: N
  • User interaction: R
  • Scope: U
  • Confidentiality: L
  • Integrity: N
  • Availability: N

Temporal

  • Exploit code madurity: P
  • Remediation level: O
  • Report confidence: X

Result

  • Vector string: CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N/E:P/RL:O/RC:X
  • Score:
    • Base: 2.6
    • Temporal: 2.4
  • Severity:
    • Base: Low
    • Temporal: Low

Code Examples

Compliant code

The application only includes secure encryption algorithms

http {
server {
index index.html;
listen localhost:4446 ssl;
location / {
root server_root;
}
server_name localhost;
ssl_prefer_server_ciphers off;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM";
ssl_certificate ert.crt;
ssl_certificate_key cert.key;
ssl_protocols SSLv3 TLSv1 TLSv1.2;
}
}

Non compliant code

Some insecure encryption algorithms are included in the server configuration

http {
server {
index index.html;
listen localhost:4446 ssl;
location / {
root server_root;
}
server_name localhost;
ssl_prefer_server_ciphers off;
ssl_ciphers "ADH-AES128-SHA:ADH-AES256-SHA:ADH-CAMELLIA128-SHA:ADH-CAMELLIA256-SHA:ADH-DES-CBC3-SHA:ADH-RC4-MD5:ADH-SEED-SHA:AES128-SHA:AES256-SHA:CAMELLIA128-SHA:ADH-SEED-SHA:AES128-SHA";
ssl_certificate ert.crt;
ssl_certificate_key cert.key;
ssl_protocols SSLv3 TLSv1 TLSv1.1;
}
}

Requirements