CVE-2024-35785
📋 TL;DR
A kernel panic vulnerability in the Linux kernel's TEE (Trusted Execution Environment) OP-TEE driver allows local attackers to crash the system by triggering improper error handling during device registration. This affects systems using OP-TEE for trusted computing. The vulnerability requires local access to exploit.
💻 Affected Systems
- Linux kernel with OP-TEE driver
📦 What is this software?
Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →⚠️ Risk & Real-World Impact
Worst Case
Complete system crash (kernel panic) leading to denial of service, potentially causing data loss or service disruption.
Likely Case
Local denial of service through system crash, requiring physical or remote console access to recover.
If Mitigated
Minimal impact if systems have proper access controls preventing local user exploitation.
🎯 Exploit Status
Requires local access and ability to trigger the specific error path in OP-TEE device registration.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions with fixes from provided git commits
Vendor Advisory: https://git.kernel.org/stable/c/4b12ff5edd141926d49c9ace4791adf3a4902fe7
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing fix commits. 2. For distributions: Use package manager (apt/yum/dnf) to update kernel. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
Disable OP-TEE module
linuxPrevent loading of vulnerable OP-TEE driver if not required
echo 'blacklist optee' >> /etc/modprobe.d/blacklist.conf
rmmod optee
🧯 If You Can't Patch
- Restrict local user access to systems using OP-TEE
- Implement strict access controls and monitoring for systems with OP-TEE enabled
🔍 How to Verify
Check if Vulnerable:
Check kernel version and if OP-TEE module is loaded: 'uname -r' and 'lsmod | grep optee'
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version is updated beyond vulnerable range and OP-TEE module loads without panic
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages mentioning 'optee' or 'TEE bus'
- System crash/reboot logs following OP-TEE operations
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND ("optee" OR "TEE bus") AND ("panic" OR "Oops" OR "abort")
🔗 References
- https://git.kernel.org/stable/c/4b12ff5edd141926d49c9ace4791adf3a4902fe7
- https://git.kernel.org/stable/c/520f79c110ff712b391b3d87fcacf03c74bc56ee
- https://git.kernel.org/stable/c/95915ba4b987cf2b222b0f251280228a1ff977ac
- https://git.kernel.org/stable/c/bc40ded92af55760d12bec8222d4108de725dbe4
- https://git.kernel.org/stable/c/bfa344afbe472a9be08f78551fa2190c1a07d7d3
- https://git.kernel.org/stable/c/e5b5948c769aa1ebf962dddfb972f87d8f166f95
- https://git.kernel.org/stable/c/4b12ff5edd141926d49c9ace4791adf3a4902fe7
- https://git.kernel.org/stable/c/520f79c110ff712b391b3d87fcacf03c74bc56ee
- https://git.kernel.org/stable/c/95915ba4b987cf2b222b0f251280228a1ff977ac
- https://git.kernel.org/stable/c/bc40ded92af55760d12bec8222d4108de725dbe4
- https://git.kernel.org/stable/c/bfa344afbe472a9be08f78551fa2190c1a07d7d3
- https://git.kernel.org/stable/c/e5b5948c769aa1ebf962dddfb972f87d8f166f95
- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html