tty: vcc: hold port lock when clearing tty pointer in vcc_cleanup
In the Linux kernel, the following vulnerability has been resolved: tty: vcc: hold port lock when clearing tty pointer in vcc_cleanup vcc_cleanup() sets port->tty to NULL without holding port->lock, racing with vcc_event() LDC callbacks that read port->tty under port->lock and then use tty->port. This can cause a use-after-free when the callback dereferences tty->port after cleanup has already destroyed and freed it.
- Products
- Linux
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-98754
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 29 Oct 2026, 18:03 UTC · Revision 2
Source evidence
tty: vcc: hold port lock when clearing tty pointer in vcc_cleanup
core-cve · Original sourcePublished 18 Oct 2026, 15:47 UTC
In the Linux kernel, the following vulnerability has been resolved: tty: vcc: hold port lock when clearing tty pointer in vcc_cleanup vcc_cleanup() sets port->tty to NULL without holding port->lock, racing with vcc_event() LDC callbacks that read port->tty under port->lock and then use tty->port. This can cause a use-after-free when the callback dereferences tty->port after cleanup has already destroyed and freed it.
cve:CVE-2026-98754
Linux
Fixed versions: Not specified
Linux
Fixed versions: Not specified
Complete source record
{
"id": "6e0ce4691e4117d68c49a16033f3df78fa45875068c25fa4fbb69279a1868c9f",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-98754",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "tty: vcc: hold port lock when clearing tty pointer in vcc_cleanup",
"summary": "In the Linux kernel, the following vulnerability has been resolved: tty: vcc: hold port lock when clearing tty pointer in vcc_cleanup vcc_cleanup() sets port->tty to NULL without holding port->lock, racing with vcc_event() LDC callbacks that read port->tty under port->lock and then use tty->port. This can cause a use-after-free when the callback dereferences tty->port after cleanup has already destroyed and freed it.",
"evidence": "cve:CVE-2026-98754",
"products": [
{
"name": {
"value": "Linux",
"evidence": "/containers/cna/affected/0/product"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": []
},
{
"name": {
"value": "Linux",
"evidence": "/containers/cna/affected/1/product"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-98754",
"aliases": [
"CVE-2026-98754"
],
"metrics": [],
"affected": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "8f03f948ba356b7cb254b45a4e78b5b3d86fd3bb",
"lessThan": "57753441ef84bee3bf0e9ee1e3778d119c44aa32",
"versionType": "git"
},
{
"status": "affected",
"version": "8f03f948ba356b7cb254b45a4e78b5b3d86fd3bb",
"lessThan": "88f6ecb058801e9ce7b9aabc966530118d7cd53c",
"versionType": "git"
},
{
"status": "affected",
"version": "8f03f948ba356b7cb254b45a4e78b5b3d86fd3bb",
"lessThan": "821050631750e982007c0856c119346edba51cae",
"versionType": "git"
},
{
"status": "affected",
"version": "8f03f948ba356b7cb254b45a4e78b5b3d86fd3bb",
"lessThan": "1a9fb9eaeb69b1f6c00bed09289a33d9fe1e7ae4",
"versionType": "git"
},
{
"status": "affected",
"version": "8f03f948ba356b7cb254b45a4e78b5b3d86fd3bb",
"lessThan": "03b49c991abb8d021ca6fe51cd173447236b0552",
"versionType": "git"
}
],
"programFiles": [
"drivers/tty/vcc.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "4.14"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "4.14",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.6.160",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.113",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.56",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.10",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/tty/vcc.c"
],
"defaultStatus": "affected"
}
],
"modified": "2026-10-26T06:55:48.861Z",
"provider": "cve",
"references": [
"https://git.kernel.org/stable/c/57753441ef84bee3bf0e9ee1e3778d119c44aa32",
"https://git.kernel.org/stable/c/88f6ecb058801e9ce7b9aabc966530118d7cd53c",
"https://git.kernel.org/stable/c/821050631750e982007c0856c119346edba51cae",
"https://git.kernel.org/stable/c/1a9fb9eaeb69b1f6c00bed09289a33d9fe1e7ae4",
"https://git.kernel.org/stable/c/03b49c991abb8d021ca6fe51cd173447236b0552"
],
"provider_metadata": {
"cna": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-10-26T06:55:48.861Z"
}
}
},
"related_cves": [
{
"value": "CVE-2026-98754",
"evidence": "/cveMetadata/cveId"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-cve",
"document_id": 263326,
"published_at": "2026-10-18T15:47:40.255+00:00"
}