CME-401

System-wide Crypto Policy (FUTURE)

Description

Centrally enforce minimum cryptographic standards across all system crypto libraries (OpenSSL, GnuTLS, NSS) and their consumers (OpenSSH, Kerberos, HTTPS, LDAP) via update-crypto-policies. The FUTURE policy disables TLS <1.2, SHA-1 signatures, RSA <3072-bit, all CBC mode ciphers, RC4, and DSA, permitting only AEAD ciphers (AES-GCM, ChaCha20-Poly1305), ECDHE/DHE key exchange, and SHA-256+ signatures. This eliminates the attack surface for protocol downgrade attacks (POODLE, DROWN), cipher suite downgrade attacks (FREAK, Logjam), padding oracle attacks (BEAST, Lucky13), and hash collision attacks against SHA-1. The policy is enforced at the library level — applications linked against system crypto libraries inherit the restrictions without code changes. Applications that use their own crypto implementations (Java's keytool/cacerts, Go's crypto/tls, custom-compiled OpenSSL) are not affected and must be configured separately.

CVSS Vector Impacts

Metric Transition Rationale
Attack Complexity (AC) L → H Without the FUTURE policy, system libraries offer weak protocols and ciphers (TLS 1.0, CBC mode, RC4, SHA-1) that enable well-tooled downgrade attacks: POODLE forces TLS 1.0 fallback, FREAK/Logjam force export-grade key exchange, and padding oracles exploit CBC mode — all with public exploit tools and low complexity. With FUTURE policy active, weak primitives are removed from the library's supported set entirely — the server cannot negotiate down to a vulnerable configuration because the weak options do not exist in memory. This is enforced at the crypto library level before application code runs, making it deterministic rather than configuration-dependent

CWE Relationships

Verification

Verify system-wide crypto policy is set to FUTURE and weak algorithms are excluded from the effective cipher set

$ update-crypto-policies --show
# Expected: FUTURE
Platform: rhel
$ openssl ciphers -v 'DEFAULT' 2>/dev/null | grep -ciE 'RC4|DES|CBC|NULL'
# Expected: 0
Platform: linux

Remediation

rhel Set system-wide crypto policy to FUTURE via update-crypto-policies

update-crypto-policies --set FUTURE
openssl ciphers -v 'DEFAULT' 2>/dev/null | grep -ciE 'RC4|DES|CBC|NULL'

Applicability (CVE 5.2.0 Schema)

Vendor Product CPEs Platforms Status
redhat enterprise_linux cpe:2.3:o:redhat:enterprise_linux:8:*:*:*:*:*:*:*
cpe:2.3:o:redhat:enterprise_linux:9:*:*:*:*:*:*:*
cpe:2.3:o:redhat:enterprise_linux:10:*:*:*:*:*:*:*
All applicable

References

← CME-305: macOS System Integrity Protection (SIP) CME-402: FIPS 140-3 Mode →