** Description changed:

+ Original report
+ 
+ 
================================================================================
  Problem Description
  
  Ubuntu 24.04’s OpenSSL packaging currently enables the enable-
  ec_nistp_64_gcc_128 configure option only on amd64:
  
  ifeq ($(DEB_HOST_ARCH_CPU), amd64)
  CONFARGS += enable-ec_nistp_64_gcc_128
  endif
  
  However, Debian’s OpenSSL packaging (which should serve as the
  reference) enables this optimization on multiple 64-bit architectures:
  
  ifneq ($(filter amd64 arm64 ppc64el riscv64,$(DEB_HOST_ARCH_CPU)),)
  CONFARGS += enable-ec_nistp_64_gcc_128
  endif
  
  Security Impact
  
  This packaging discrepancy is not just a performance issue but has
  security implications:
  
  D(HE)at-like Attack Vector: Slow elliptic curve operations significantly
  increase the computational cost of ECDHE and ECDSA operations during TLS
  handshakes. Servers running Ubuntu 24.04 on aarch64, ppc64el, or riscv64
  are more vulnerable to resource exhaustion attacks that exploit slow
  handshake processing.
  
  Asymmetric Defense: The optimization is only enabled on x86_64, creating
  an attack surface inequality across different architectures. This means
  the same server hardware type running x86_64 vs aarch64 would have
  different resistance to ECDHE-based DoS attacks.
  
- TLS Performance: The P-256 curve is widely used in TLS, and without this
- optimization, handshake processing is substantially slower, making
- servers more susceptible to overwhelming during traffic bursts.
+ TLS Performance: The P-256 curve is widely used in TLS, and without this 
optimization, handshake processing is substantially slower, making servers more 
susceptible to overwhelming during traffic bursts.
+ 
================================================================================
+ 
+ [ Impact ]
+ 
+  * Fix performance issue on all 64-bit architectures.
+ 
+  * The upload enables enable-ec_nistp_64_gcc_128 (support for optimised 
implementations of some commonly used NIST                                      
                                                                            
+  682 elliptic curves) on arm64, ppc64el, and riscv64.
+ 
+ [ Test Plan ]
+ 
+  * run `nm /usr/lib/x86_64-linux-gnu/libcrypto.a | grep 
EC_GFp_nistp224_method`, the symbol should be missing on arm64, ppc64el, and 
riscv64.
+  * run it again with patched release, the symbol should be present.
+  * Build time test cases should pass on amd64, arm64, ppc64el, and riscv64.
+  
+ [ Where problems could occur ]
+ 
+  * I can't think of a scenario where enabling this optimization will
+ lead to a problem.
+ 
+ [ Other Info ]
+ 
+  * I am also adding a low prio fix as part of this SRU.
+ https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/2107167

** Description changed:

  Original report
  
  
================================================================================
  Problem Description
  
  Ubuntu 24.04’s OpenSSL packaging currently enables the enable-
  ec_nistp_64_gcc_128 configure option only on amd64:
  
  ifeq ($(DEB_HOST_ARCH_CPU), amd64)
  CONFARGS += enable-ec_nistp_64_gcc_128
  endif
  
  However, Debian’s OpenSSL packaging (which should serve as the
  reference) enables this optimization on multiple 64-bit architectures:
  
  ifneq ($(filter amd64 arm64 ppc64el riscv64,$(DEB_HOST_ARCH_CPU)),)
  CONFARGS += enable-ec_nistp_64_gcc_128
  endif
  
  Security Impact
  
  This packaging discrepancy is not just a performance issue but has
  security implications:
  
  D(HE)at-like Attack Vector: Slow elliptic curve operations significantly
  increase the computational cost of ECDHE and ECDSA operations during TLS
  handshakes. Servers running Ubuntu 24.04 on aarch64, ppc64el, or riscv64
  are more vulnerable to resource exhaustion attacks that exploit slow
  handshake processing.
  
  Asymmetric Defense: The optimization is only enabled on x86_64, creating
  an attack surface inequality across different architectures. This means
  the same server hardware type running x86_64 vs aarch64 would have
  different resistance to ECDHE-based DoS attacks.
  
  TLS Performance: The P-256 curve is widely used in TLS, and without this 
optimization, handshake processing is substantially slower, making servers more 
susceptible to overwhelming during traffic bursts.
  
================================================================================
  
  [ Impact ]
  
-  * Fix performance issue on all 64-bit architectures.
+  * Fix performance issue on all 64-bit architectures.
  
-  * The upload enables enable-ec_nistp_64_gcc_128 (support for optimised 
implementations of some commonly used NIST                                      
                                                                            
-  682 elliptic curves) on arm64, ppc64el, and riscv64.
+  * The upload enables enable-ec_nistp_64_gcc_128 (support for optimised 
implementations of some commonly used NIST
+  elliptic curves) on arm64, ppc64el, and riscv64.
  
  [ Test Plan ]
  
-  * run `nm /usr/lib/x86_64-linux-gnu/libcrypto.a | grep 
EC_GFp_nistp224_method`, the symbol should be missing on arm64, ppc64el, and 
riscv64.
-  * run it again with patched release, the symbol should be present.
-  * Build time test cases should pass on amd64, arm64, ppc64el, and riscv64.
-  
+  * run `nm /usr/lib/x86_64-linux-gnu/libcrypto.a | grep 
EC_GFp_nistp224_method`, the symbol should be missing on arm64, ppc64el, and 
riscv64.
+  * run it again with patched release, the symbol should be present.
+  * Build time test cases should pass on amd64, arm64, ppc64el, and riscv64.
+ 
  [ Where problems could occur ]
  
-  * I can't think of a scenario where enabling this optimization will
+  * I can't think of a scenario where enabling this optimization will
  lead to a problem.
  
  [ Other Info ]
  
-  * I am also adding a low prio fix as part of this SRU.
+  * I am also adding a low prio fix as part of this SRU.
  https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/2107167

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2130576

Title:
  Missing ec_nistp_64_gcc_128 optimization on non-x86_64 architectures

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/2130576/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to