CVE-2026-93159: crypto: atmel-sha204a - fix heap info leak on I2C transfer failure

Published Sep 17, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

crypto: atmel-sha204a - fix heap info leak on I2C transfer failure

The nonblocking RNG path allocates a workdata structure to track the state of an in-flight asynchronous I2C request. This pointer is stored in rng->priv and later consumed by the read path once the transaction completes.

If the underlying I2C transfer fails, the completion callback is invoked with a non-zero status. In this case, the allocated workdata is not usable for producing RNG output and must not remain associated with the hwrng state.

Previously, the failure path only logged a warning but left the pointer state uncleared, which can result in subsequent read attempts observing stale state and interpreting it as valid completion data.

Fix this by freeing the pending workdata. The I2C transaction reports an error. This ensures that failed requests do not leave residual state behind that could be interpreted as valid RNG data on later reads. Clearing rng->priv is done at the subsequent call to nonblocking read.

Affected Software

1 affected component
Linux Kernel

Event History

Sep 17, 2026
CVE Published
via MITRE·04:11 PM
Data Sourced
via MITRE·04:11 PM
Description

Frequently Asked Questions

1

What condition is required to trigger the stale state?

An underlying asynchronous I2C transfer must fail in the nonblocking RNG path. The failure callback receives a non-zero status, but the previously allocated work_data was left associated with the hardware RNG state.

2

What is the effect of a failed transfer before this fix?

Later read attempts can observe the stale rng->priv state and treat it as valid completed RNG data. The issue is an information leak from residual heap-backed work_data rather than usable output from the failed request.

3

What should be prioritized when assessing exposure?

Focus on systems using the atmel-sha204a hardware RNG through its nonblocking asynchronous I2C path, particularly where I2C transfer errors can occur. The described issue is reached only after an I2C transaction reports an error.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203