| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Review requested:
|
Sorry, something went wrong.
Node's compression-enabled OpenSSL build allocates TLS record-compression methods during startup. Clearing the stack loses the only pointers without freeing entries, so LeakSanitizer reports a 24-byte leak. Pop and free every method while preserving the OpenSSL-owned stack. Record compression remains unavailable process-wide, including when SSL_CONF attempts to enable it at a lower security level. Refs: nodejs#62217 Signed-off-by: Ruben Bridgewater <ruben@bridgewater.de>
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #64683 +/- ##
==========================================
- Coverage 90.13% 90.13% -0.01%
==========================================
Files 741 741
Lines 242158 242161 +3
Branches 45608 45612 +4
==========================================
- Hits 218265 218260 -5
- Misses 15361 15381 +20
+ Partials 8532 8520 -12
... and 26 files with indirect coverage changes 🚀 New features to boost your workflow:
|
Sorry, something went wrong.
There was a problem hiding this comment.
Some linting errors here, otherwise LGTM 👍
Sorry, something went wrong.
|
@BridgeAR Can you please fix the lint errors and rebase? |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Summary
Node's compression-enabled OpenSSL build initializes the legacy TLS record-compression methods during startup. sk_SSL_COMP_zero() removed those methods from the stack without freeing them, so LeakSanitizer reported a 24-byte leak after otherwise successful test runs.
Free each method before removing it while keeping OpenSSL's stack container valid. This preserves Node's process-wide CRIME protection, including when SSL_CONF enables record compression at security level 1, while certificate compression remains available.
The regression test starts Node with that unsafe OpenSSL configuration and verifies that its TLS 1.2 ClientHello still advertises only null compression. Without the fix it also advertises zlib.
Refs: #62217