CVE-2026-23194: rust_binder: correctly handle FDA objects of length zero
In the Linux kernel, the following vulnerability has been resolved:
rustbinder: correctly handle FDA objects of length zero
Fix a bug where an empty FDA (fd array) object with 0 fds would cause an out-of-bounds error. The previous implementation used skip == 0 to mean "this is a pointer fixup", but 0 is also the correct skip length for an empty FDA. If the FDA is at the end of the buffer, then this results in an attempt to write 8-bytes out of bounds. This is caught and results in an EINVAL error being returned to userspace.
The pattern of using skip == 0 as a special value originates from the C-implementation of Binder. As part of fixing this bug, this pattern is replaced with a Rust enum.
I considered the alternate option of not pushing a fixup when the length is zero, but I think it's cleaner to just get rid of the zero-is-special stuff.
The root cause of this bug was diagnosed by Gemini CLI on first try. I used the following prompt:
> There appears to be a bug in @drivers/android/binder/thread.rs where > the Fixups oob bug is triggered with 316 304 316 324. This implies > that we somehow ended up with a fixup where buffer A has a pointer to > buffer B, but the pointer is located at an index in buffer A that is > out of bounds. Please investigate the code to find the bug. You may > compare with @drivers/android/binder.c that implements this correctly.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-23194?
CVE-2026-23194 is classified as a medium severity vulnerability due to its potential to cause an out-of-bounds error.
How do I fix CVE-2026-23194?
To fix CVE-2026-23194, update your Linux kernel to the latest stable version where the vulnerability has been resolved.
What are the risks associated with CVE-2026-23194?
The risks associated with CVE-2026-23194 include potential system crashes and exploitation through out-of-bounds errors.
Which versions of the Linux kernel are affected by CVE-2026-23194?
CVE-2026-23194 affects certain versions of the Linux kernel where the rust_binder component does not handle FDA objects of length zero properly.
Is CVE-2026-23194 being actively exploited?
As of now, there are no public reports of active exploitation for CVE-2026-23194, but it is advisable to apply patches promptly.