Undefined behavior at process exit
LowPublished Nov 14, 2024
### Impact s2n-tls uses the Linux atexit function to register functions that clean up the global state when the process exits. In multi-threaded environments, the atexit handler may clean up state which is still in use by other threads. When this occurs, the exiting process may experience a segmentation fault or other undefined behavior. Customers of AWS services do not need to take action. Applications using s2n-tls should upgrade to the most recent release of s2n-tls. **Impacted versions**: < v1.5.9. ### Patches The patch commit [493b771](https://github.com/aws/s2n-tls/commit/493b77167dc367c394de23cfe78a029298e2a254) is included in s2n-tls v1.5.9 [1] ### Workarounds The atexit handler may be disabled by calling `s2n_disable_atexit()` prior to initializing s2n-tls. The atexit handler is off by default in the patched versions. For further details, refer to [s2n-tls Usage Guide: Initialization and Teardown](https://github.com/aws/s2n-tls/blob/main/docs/usage-guide/topics/ch02-initialization.md). If you have any questions or comments about this advisory, we ask that you contact AWS/Amazon Security via our vulnerability reporting page [2] or directly via email to [aws-security@am...
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| s2n-tls Product | < v1.5.9 | v1.5.9 |
| s2n-tls crates.io | < 0.3.7 | 0.3.7 |
Details and references
### Impact s2n-tls uses the Linux atexit function to register functions that clean up the global state when the process exits. In multi-threaded environments, the atexit handler may clean up state which is still in use by other threads. When this occurs, the exiting process may experience a segmentation fault or other undefined behavior. Customers of AWS services do not need to take action. Applications using s2n-tls should upgrade to the most recent release of s2n-tls. **Impacted versions**: < v1.5.9. ### Patches The patch commit [493b771](https://github.com/aws/s2n-tls/commit/493b77167dc367c394de23cfe78a029298e2a254) is included in s2n-tls v1.5.9 [1] ### Workarounds The atexit handler may be disabled by calling `s2n_disable_atexit()` prior to initializing s2n-tls. The atexit handler is off by default in the patched versions. For further details, refer to [s2n-tls Usage Guide: Initialization and Teardown](https://github.com/aws/s2n-tls/blob/main/docs/usage-guide/topics/ch02-initialization.md). If you have any questions or comments about this advisory, we ask that you contact AWS/Amazon Security via our vulnerability reporting page [2] or directly via email to [aws-security@amazon.com](mailto:aws-security@amazon.com). Please do not create a public GitHub issue. [1] https://github.com/aws/s2n-tls/releases/tag/v1.5.9 [2] Vulnerability reporting page: https://aws.amazon.com/security/vulnerability-reporting
- Severity from
- GitHub (reviewed advisory)
More AWS advisories
All AWS| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Mar 212025 | AWS CDK CLI prints AWS credentials retrieved by custom credential plugins | Medium5.7 | 2.178.2+1 more |
| Jan 172025 | IAM OIDC custom resource allows connection to unauthorized OIDC provider | Low | 2.177.0 |
| Sep 112024 | Sensitive Information Exposure Through Insecure Logging For Secrets Like Metadata.DockerBuildArgs | High | 1.122.0 |
| Aug 272024 | AWS CDK RestApi Construct: Authenticated users may have unintended access to protected APIs | Medium6.4 | 2.148.1 |
| Aug 92024 | mTLS API ordering may skip client authentication | Medium | v1.5.0+1 more |
| Jul 192024 | Potential weak encryption of session ticket | High | v1.4.18 |