-
Why switch the default SSL lib to BoringSSL, I would think we'd want to keep OpenSSL the default because like 90% of curl users or something (I forget the exact stats) use it. Is it really that similar to OpenSSL? The path vulnerability you cite was fixed long ago wasn't it? |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 7 replies
-
No, the vulnerability was never fixed. It was merely mitigated by moving the settings under The correct fix is to either use a runtime-detected Windows OS location as a base directory for its settings, or even better would be to allow disabling the loading of settings from disk altogether (as BoringSSL does for example). LibreSSL has the Other reasons:
Since the end of 2022, both LibreSSL 3.7.0 and BoringSSL are fully on par with OpenSSL (or rather with the I shall add, that the cited vulnerability shouldn't affect curl itself, because we build it with Overall, I think most curl-for-win users are using |
Beta Was this translation helpful? Give feedback.
-
Since LibreSSL (with v3.7.x) has caught up in features with BoringSSL, and BoringSSL takes quite a bit of effort to adjust for our purposes, and also doesn't seem that its pthread requirement is going away anytime soon (hitting a toolchain bug, which also seems to stay with us), I plan to switch to LibreSSL instead. This will result in significantly smaller binaries, faster builds, hack- and patch-free build process and a proven development path with versioned releases. Also worth a note that the latest OpenSSL release 3.1.1 from 2 months ago, still did not get a matching release from the quictls fork. Instead it got a second set of patches for performance. Meanwhile mainline OpenSSL turned to focus almost exclusively on its own in-house QUIC implementation. |
Beta Was this translation helpful? Give feedback.
-
@arm64-v9a That QUIC is OpenSSL's home-grown implementation. It isn't compatible with curl or any software out there and it isn't released yet. A missing quictls-compatble API is just one in the list of concerns with OpenSSL. There is no perfect choice out there, including the mainline. E.g. OpenSSL itself suffers from a significant performance drop since 3.x, due to locking. |
Beta Was this translation helpful? Give feedback.
-
Status updates:
I don't expect much to change short/mid-term with the quictls |
Beta Was this translation helpful? Give feedback.
No, the vulnerability was never fixed. It was merely mitigated by moving the settings under
C:\Program Files\
(from/usr/local/
and similar paths that were used before by default), which remains vulnerable on all localized Windows versions that use a different folder name. I could mitigate it more by moving the settings underC:\Windows\System32\
, but even this is not safe as the OS might be installed in a different directory. Even for this I must patch OpenSSL'sConfigure
, because there is a cross-build bug which prevents overriding the settings directory, saying that the directory isn't absolute when it is. For this bug I provided a patch, which they refused to merge (asking for persona…