CVE-2026-90045
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: USB: gadget: ffs: fix mm lifetime handling io_data stores a pointer to the submitting task's mm_struct, but does not currently hold a reference to it while async requests are pending. This can result in a use-after-free if the task exits before completion handling finishes. Take a reference with mmgrab() when queuing the read request and release it with mmdrop() on request completion.
Severity
HIGH
CVSS score
7.8
(v3.1)
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-16 11:17:17.763000
Last modified
2026-10-30 13:20:39.910000
View original CVE JSON
{
"id": "CVE-2026-90045",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-09-16T11:17:17.763",
"lastModified": "2026-10-30T13:20:39.910",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nUSB: gadget: ffs: fix mm lifetime handling\n\nio_data stores a pointer to the submitting task's mm_struct,\nbut does not currently hold a reference to it while async\nrequests are pending.\n\nThis can result in a use-after-free if the task exits before\ncompletion handling finishes.\n\nTake a reference with mmgrab() when queuing the read request\nand release it with mmdrop() on request completion."
},
{
"lang": "es",
"value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nUSB: gadget: ffs: corregir la gestión del ciclo de vida de mm\n\nio_data almacena un puntero a la mm_struct de la tarea remitente, pero actualmente no mantiene una referencia a ella mientras las solicitudes asíncronas están pendientes.\n\nEsto puede resultar en un uso después de liberación si la tarea finaliza antes de que termine el manejo de la finalización.\n\nTomar una referencia con mmgrab() al encolar la solicitud de lectura y liberarla con mmdrop() al completarse la solicitud."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/usb/gadget/function/f_fs.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "2e4c7553cd6f9c68bb741582dcb614edcbeca70f",
"lessThan": "68895e50c2250d9edd6e0a5967bf351221fd88b4",
"versionType": "git",
"status": "affected"
},
{
"version": "2e4c7553cd6f9c68bb741582dcb614edcbeca70f",
"lessThan": "aee2fde0f39e2b667084f4d5cc323a5c5543d733",
"versionType": "git",
"status": "affected"
},
{
"version": "2e4c7553cd6f9c68bb741582dcb614edcbeca70f",
"lessThan": "1625827648f4e1595ea6ba5521bc87ee5088b32b",
"versionType": "git",
"status": "affected"
},
{
"version": "2e4c7553cd6f9c68bb741582dcb614edcbeca70f",
"lessThan": "f3d31484b3f26d63c09e5569ebfaa1079a17f171",
"versionType": "git",
"status": "affected"
},
{
"version": "2e4c7553cd6f9c68bb741582dcb614edcbeca70f",
"lessThan": "7411de0ce3b45286de1de82526795658ea6eacb0",
"versionType": "git",
"status": "affected"
},
{
"version": "2e4c7553cd6f9c68bb741582dcb614edcbeca70f",
"lessThan": "5eb5c72c72fef76cb765ef1669b62b6a3ba1bfc8",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/usb/gadget/function/f_fs.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "3.15",
"status": "affected"
},
{
"version": "0",
"lessThan": "3.15",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.191",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.160",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.111",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.51",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.5",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 1.8,
"impactScore": 5.9
}
]
},
"references": [
{
"url": "https://git.kernel.org/stable/c/1625827648f4e1595ea6ba5521bc87ee5088b32b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/5eb5c72c72fef76cb765ef1669b62b6a3ba1bfc8",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/68895e50c2250d9edd6e0a5967bf351221fd88b4",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/7411de0ce3b45286de1de82526795658ea6eacb0",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/aee2fde0f39e2b667084f4d5cc323a5c5543d733",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f3d31484b3f26d63c09e5569ebfaa1079a17f171",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}