- 
    Type:Bug 
- 
    Resolution: Fixed
- 
    Priority:Major - P3 
- 
    Affects Version/s: None
- 
    Component/s: CLI Module, Connectivity
- 
    None
- 
    Environment:OS: RHEL8
 Additional info:
 
- 
        3
- 
        Iteration Pterodactyl
- 
        Not Needed
Problem Statement/Rationale
mongosh statically links OpenSSL. This conflicts with a potential transitive OpenSSL dependency in libraries that mongosh depends on, such as kerberos, which happens to depend on the system OpenSSL installation in RHEL8/9-based operating systems.
Steps to Reproduce
Apply https://gist.github.com/addaleax/2427e73e5306aae189005344d13b120e to mongosh, then run the connectivity test suite.
Expected Results
Successful tests.
Actual Results
Segmentation faults. Stack trace from the original user report: https://gist.github.com/addaleax/d3680ffd4e21cd6e104095da89b95c21
Additional Notes
ldd -v /usr/bin/mongosh output: https://gist.github.com/addaleax/12f744be7030aacafc5dc13afa1b9836
This seems relatively high-priority, because:
- It results in crashes without any helpful information for the user
- It can lead to arbitrary memory corruption in mongosh processes.
 The only reason I’m not opening this as P2 is that it has a reliable and safe workaround (namely, using the shared-OpenSSL binaries).
Unfortunately, fixing this is not trivial. Possible approaches would be to:
- Stop statically linking the Node.js kerberos addon. This breaks with our goal to provide a single-binary experience for mongosh users.
- Adjust the Node.js kerberos addon to (enable) loading kerberos functions at runtime. This adds a bit of complexity to the Node.js addon, but removes kerberos as a hard runtime dependency for mongosh.
- Disable kerberos as a feature in static-OpenSSL builds of mongosh.
- …?
- depends on
- 
                    NODE-5746 Allow runtime linking against system kerberos libraries -         
- Closed
 
-         
- is related to
- 
                    NODE-6253 Kerberos addon crashes on RHEL8 with Node.js 18+ -         
- Closed
 
-         
- 
                    MONGOSH-1654 Re-enable arm64 executable connectivity tests -         
- Closed
 
-