7.8
/ 10
HIGH
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Description
In the Linux kernel, the following vulnerability has been resolved:
tee: optee: prevent use-after-free when the client exits before the supplicant
Commit 70b0d6b0a199 ("tee: optee: Fix supplicant wait loop") made the
client wait as killable so it can be interrupted during shutdown or
after a supplicant crash. This changes the original lifetime expectations:
the client task can now terminate while the supplicant is still processing
its request.
If the client exits first it removes the request from its queue and
kfree()s it, while the request ID remains in supp->idr. A subsequent
lookup on the supplicant path then dereferences freed memory, leading to
a use-after-free.
Serialise access to the request with supp->mutex:
* Hold supp->mutex in optee_supp_recv() and optee_supp_send() while
looking up and touching the request.
* Let optee_supp_thrd_req() notice that the client has terminated and
signal optee_supp_send() accordingly.
With these changes the request cannot be freed while the supplicant still
has a reference, eliminating the race.
tee: optee: prevent use-after-free when the client exits before the supplicant
Commit 70b0d6b0a199 ("tee: optee: Fix supplicant wait loop") made the
client wait as killable so it can be interrupted during shutdown or
after a supplicant crash. This changes the original lifetime expectations:
the client task can now terminate while the supplicant is still processing
its request.
If the client exits first it removes the request from its queue and
kfree()s it, while the request ID remains in supp->idr. A subsequent
lookup on the supplicant path then dereferences freed memory, leading to
a use-after-free.
Serialise access to the request with supp->mutex:
* Hold supp->mutex in optee_supp_recv() and optee_supp_send() while
looking up and touching the request.
* Let optee_supp_thrd_req() notice that the client has terminated and
signal optee_supp_send() accordingly.
With these changes the request cannot be freed while the supplicant still
has a reference, eliminating the race.
Basic Information
ID
CVE-2026-53273
Source
Linux
Published
Jun 25, 2026 at 08:39
Modified
Jun 28, 2026 at 06:41
Affected Product
Vendor
Linux
Product
Linux
Version
0180cf0373f84fff61b16f8c062553a13dd7cfca
Affected Versions
Linux Linux 0180cf0373f84fff61b16f8c062553a13dd7cfca
Linux Linux c0a9a948159153be145f9471435695373904ee6d
Linux Linux ec18520f5edc20a00c34a8c9fdd6507c355e880f
Linux Linux d61cc1a435e6894bfb0dd3370c6f765d2d12825d
Linux Linux fd9d2d6124c293e40797a080adf8a9c237efd8b8
Linux Linux 70b0d6b0a199c5a3ee6c72f5e61681ed6f759612
Linux Linux 70b0d6b0a199c5a3ee6c72f5e61681ed6f759612
Linux Linux 70b0d6b0a199c5a3ee6c72f5e61681ed6f759612
Linux Linux 3eb4911364c764572e9db4ab900a57689a54e8ce
Linux Linux 21234efe2a8474a6d2d01ea9573319de7858ce44
Linux Linux 5.10.235
Linux Linux 5.15.179
Linux Linux 6.1.130
Linux Linux 6.6.80
Linux Linux 6.12.17
Linux Linux 5.4.291
Linux Linux 6.13.5
Linux Linux 6.14
Linux Linux c0a9a948159153be145f9471435695373904ee6d
Linux Linux ec18520f5edc20a00c34a8c9fdd6507c355e880f
Linux Linux d61cc1a435e6894bfb0dd3370c6f765d2d12825d
Linux Linux fd9d2d6124c293e40797a080adf8a9c237efd8b8
Linux Linux 70b0d6b0a199c5a3ee6c72f5e61681ed6f759612
Linux Linux 70b0d6b0a199c5a3ee6c72f5e61681ed6f759612
Linux Linux 70b0d6b0a199c5a3ee6c72f5e61681ed6f759612
Linux Linux 3eb4911364c764572e9db4ab900a57689a54e8ce
Linux Linux 21234efe2a8474a6d2d01ea9573319de7858ce44
Linux Linux 5.10.235
Linux Linux 5.15.179
Linux Linux 6.1.130
Linux Linux 6.6.80
Linux Linux 6.12.17
Linux Linux 5.4.291
Linux Linux 6.13.5
Linux Linux 6.14
References
- git.kernel.org /stable/c/416259cb5bffecaaae5f76539deb535a8c1b2c34
- git.kernel.org /stable/c/724d0caffd4204b46f78efe22f18f8338031c6e1
- git.kernel.org /stable/c/ae847ab29ded2d7cece4d5970f0edefa4137bf2f
- git.kernel.org /stable/c/9a0dc9279d0907b198f205a693aedf696b08145d
- git.kernel.org /stable/c/d366a01475f927402c96a3fe78bfc06b924fc87d
- git.kernel.org /stable/c/d5b57bb314d79e99bebb58a53588fa11dd4dbf69
- git.kernel.org /stable/c/373152c94e57e9592b68c100e224fbd943cfd608
- git.kernel.org /stable/c/387a926ee166814611acecb960207fe2f3c4fd3e