Skip to content

Conversation

@lemenkov
Copy link
Member

@lemenkov lemenkov commented Jan 1, 2026

Remove Bundled Cryptographic Code from SIPp

Summary

Remove the option to build SIPp without an external SSL/TLS library. Building SIPp now requires either OpenSSL (≥1.1.1) or WolfSSL (≥3.15.0).

Rationale

This is a security fix, not a feature removal.

The bundled cryptographic code:

  • Originates from 1990s/2000s-era implementations
  • Has never been audited
  • Has no CVE tracking or security response process
  • Likely contains vulnerabilities that have been fixed in upstream libraries years ago
  • Lacks side-channel attack mitigations present in modern libraries

Additional benefits:

  • Removes ~1300 lines of unmaintained code
  • Eliminates duplicate code paths
  • OpenSSL/WolfSSL provide hardware acceleration (AES-NI, ARMv8)
  • Enables FIPS compliance for users who need it
  • Thread-safety: removes global state from Rijndael implementation

Practicality:

SIPp is a testing tool. It runs on developer machines, CI systems, and test labs. These environments have OpenSSL. Users requiring minimal footprint can use WolfSSL, which is specifically designed for constrained systems.

Compatibility

OpenSSL 1.1.1 was released in September 2018. Distributions still shipping older OpenSSL are either EOL or running with known security vulnerabilities. We should not compromise SIPp's security to support systems that are themselves insecure.

For reference, OpenSSL 1.1.1 is available in:

  • RHEL/CentOS 8+ (2019)
  • Debian 10+ (2019)
  • Ubuntu 18.04+ (2018)
  • Alpine 3.9+ (2019)
  • Fedora 28+ (2018)

@lemenkov lemenkov force-pushed the rely_on_crypto_libraries branch 7 times, most recently from 84db5cf to 03376cf Compare January 1, 2026 02:37
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
This version has TLS 1.3 support and this is a first version where it is
possible to dump crypto keys.

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
@lemenkov lemenkov force-pushed the rely_on_crypto_libraries branch from 03376cf to 3fe6c61 Compare January 1, 2026 02:44
Copy link
Contributor

@orgads orgads left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@lemenkov lemenkov added this to the 3.8 milestone Jan 1, 2026
@lemenkov
Copy link
Member Author

lemenkov commented Jan 1, 2026

Thanks @orgads! I'll keep it open for a few days to see if anyone objects.
This is certainly a breaking change (change/removal of build options at least) so let's schedule it to 3.8 milestone.

@lemenkov
Copy link
Member Author

lemenkov commented Jan 6, 2026

OK, let's merge it to prevent a bitrot.

@lemenkov lemenkov merged commit c3dab05 into SIPp:master Jan 6, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants