tee: optee: Fix supplicant wait loop
In the Linux kernel, the following vulnerability has been resolved: tee: optee: Fix supplicant wait loop OP-TEE supplicant is a user-space daemon and it's possible for it be hung or crashed or killed in the middle of processing an OP-TEE RPC call. It becomes more complicated when there is incorrect shutdown ordering of the supplicant process vs the OP-TEE client application which can eventually lead to system hang-up waiting for the closure of the client application. Allow the client process waiting in kernel for supplicant response to be killed rather than indefinitely waiting in an unkillable state. Also, a normal uninterruptible wait should not have resulted in the hung-task watchdog getting triggered, but the endless loop would. This fixes issues observed during system reboot/shutdown when supplicant got hung for some reason or gets crashed/killed which lead to client getting hung in an unkillable state. It in turn lead to system being in hung up state requiring hard power off/on to recover.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.235, 5.15.179, 5.4.291, 6.1.130, 6.12.17, 6.13.5, 6.6.80
- CVEs
- CVE-2025-21871
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 17:50 UTC · Revision 1
Source evidence
In the Linux kernel, the following vulnerability has been resolved: tee: optee: Fix supplicant wait loop OP-TEE supplicant is a user-space daemon and it's possible for it be hung or crashed or killed in the middle of processing an OP-TEE RPC call. It becomes more complicated when there is incorrect shutdown ordering of the supplicant process vs the OP-TEE client application which can eventually lead to system hang-up waiting for the closure of the client application. Allow the client process waiting in kernel for supplicant response to be killed rather than indefinitely waiting in an unkillable state. Also, a normal uninterruptible wait should not have resulted in the hung-task watchdog getting triggered, but the endless loop would. This fixes issues observed during system reboot/shutdown when supplicant got hung for some reason or gets crashed/killed which lead to client getting hung in an unkillable state. It in turn lead to system being in hung up state requiring hard power off/on to recover.
osv:CVE-2025-21871
Kernel
Fixed versions: 5.4.291, 5.10.235, 5.15.179, 6.1.130, 6.6.80, 6.12.17, 6.13.5
Complete source record
{
"id": "87074fbcf215dd2f5b6fe94787a1fe6ffd70576297b6dd3aa8e7145a1fa6bacf",
"url": "https://osv.dev/vulnerability/CVE-2025-21871",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "tee: optee: Fix supplicant wait loop",
"summary": "In the Linux kernel, the following vulnerability has been resolved: tee: optee: Fix supplicant wait loop OP-TEE supplicant is a user-space daemon and it's possible for it be hung or crashed or killed in the middle of processing an OP-TEE RPC call. It becomes more complicated when there is incorrect shutdown ordering of the supplicant process vs the OP-TEE client application which can eventually lead to system hang-up waiting for the closure of the client application. Allow the client process waiting in kernel for supplicant response to be killed rather than indefinitely waiting in an unkillable state. Also, a normal uninterruptible wait should not have resulted in the hung-task watchdog getting triggered, but the endless loop would. This fixes issues observed during system reboot/shutdown when supplicant got hung for some reason or gets crashed/killed which lead to client getting hung in an unkillable state. It in turn lead to system being in hung up state requiring hard power off/on to recover.",
"evidence": "osv:CVE-2025-21871",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.4.291",
"evidence": "/affected/1/ranges"
},
{
"value": "5.10.235",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.179",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.130",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.80",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.17",
"evidence": "/affected/1/ranges"
},
{
"value": "6.13.5",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2025-21871",
"aliases": [
"CVE-2025-21871"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "4fb0a5eb364d239722e745c02aef0dbd4e0f1ad2"
},
{
"fixed": "3eb4911364c764572e9db4ab900a57689a54e8ce"
},
{
"fixed": "0180cf0373f84fff61b16f8c062553a13dd7cfca"
},
{
"fixed": "c0a9a948159153be145f9471435695373904ee6d"
},
{
"fixed": "ec18520f5edc20a00c34a8c9fdd6507c355e880f"
},
{
"fixed": "d61cc1a435e6894bfb0dd3370c6f765d2d12825d"
},
{
"fixed": "fd9d2d6124c293e40797a080adf8a9c237efd8b8"
},
{
"fixed": "21234efe2a8474a6d2d01ea9573319de7858ce44"
},
{
"fixed": "70b0d6b0a199c5a3ee6c72f5e61681ed6f759612"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-21871.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "4.12.0"
},
{
"fixed": "5.4.291"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.5.0"
},
{
"fixed": "5.10.235"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.179"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.130"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.80"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.17"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.13.5"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-21871.json"
}
}
],
"modified": "2026-10-28T02:30:31.013635877Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/0180cf0373f84fff61b16f8c062553a13dd7cfca",
"https://git.kernel.org/stable/c/21234efe2a8474a6d2d01ea9573319de7858ce44",
"https://git.kernel.org/stable/c/3eb4911364c764572e9db4ab900a57689a54e8ce",
"https://git.kernel.org/stable/c/70b0d6b0a199c5a3ee6c72f5e61681ed6f759612",
"https://git.kernel.org/stable/c/c0a9a948159153be145f9471435695373904ee6d",
"https://git.kernel.org/stable/c/d61cc1a435e6894bfb0dd3370c6f765d2d12825d",
"https://git.kernel.org/stable/c/ec18520f5edc20a00c34a8c9fdd6507c355e880f",
"https://git.kernel.org/stable/c/fd9d2d6124c293e40797a080adf8a9c237efd8b8",
"https://lists.debian.org/debian-lts-announce/2025/05/msg00030.html",
"https://lists.debian.org/debian-lts-announce/2025/05/msg00045.html",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/21xxx/CVE-2025-21871.json",
"https://nvd.nist.gov/vuln/detail/CVE-2025-21871",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/21xxx/CVE-2025-21871.json"
}
},
"related_cves": [
{
"value": "CVE-2025-21871",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 497872,
"published_at": "2025-03-27T13:38:23.461+00:00"
}