{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-64529","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-07-19T15:36:31.794Z","datePublished":"2026-07-25T09:24:18.750Z","dateUpdated":"2026-08-17T04:57:06.789Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-17T04:57:06.789Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: qat - remove unused character device and IOCTLs\n\nThe QAT driver exposes a character device (qat_adf_ctl) with IOCTLs\nfor device configuration, start, stop, status query and enumeration.\nThese IOCTLs are not part of any public uAPI header and have no known\nin-tree or out-of-tree users. Device lifecycle is already managed via\nsysfs.\n\nThe ioctl interface also increases the attack surface and is the\nsubject of a number of bug reports.\n\nRemove the character device, the IOCTL definitions, and the related\ndata structures (adf_dev_status_info, adf_user_cfg_key_val,\nadf_user_cfg_section, adf_user_cfg_ctl_data). Drop the now-unused\nadf_cfg_user.h header and strip adf_ctl_drv.c down to the minimal\nmodule_init/module_exit hooks for workqueue, AER, and crypto/compression\nalgorithm registration.\n\nClean up leftover dead code that was only reachable from the removed\nIOCTL paths: adf_cfg_del_all(), adf_devmgr_verify_id(),\nadf_devmgr_get_num_dev(), adf_devmgr_get_dev_by_id(),\nadf_get_vf_real_id() and the unused ADF_CFG macros.\n\nAdditionally, drop the entry associated to QAT IOCTLs in\nioctl-number.rst."}],"metrics":[{"cvssV3_1":{"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"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerable interface is reached through local open and ioctl syscalls on /dev/qat_adf_ctl; it has no network or physical entry path.\nAC:L - The attacker can repeatedly invoke the start or status ioctl while coordinating QAT VF teardown in a hot-pluggable deployment, giving effective control over the race. A short ioctl loop has already produced the confirmed [KASAN use-after-free](https://www.spinics.net/lists/kernel/msg6034466.html ).\nPR:L - The driver performs no capability or credential check, so device-file permissions are the only gate. Standard QAT installation grants non-root qat-group members mode-0660 access to qat_adf_ctl according to the [Intel QAT installation guide](https://intel.github.io/quickassist/GSG/2.X/installation.html ).\nUI:N - Exploitation requires only attacker-generated ioctl calls and device-lifecycle operations, with no action by another user.\nS:U - The flaw compromises the same host or guest kernel security authority in which the vulnerable QAT driver executes; ordinary kernel privilege escalation does not change scope.\nC:H - The freed accel_dev can be reclaimed with attacker-influenced heap contents, and the status path follows stale pointers and invokes callbacks, providing a defensible route to arbitrary kernel-memory disclosure.\nI:H - Mutex operations and configuration paths write through the reclaimed object, while forged hw_device callbacks provide a plausible control-flow-hijack and arbitrary-kernel-write primitive.\nA:H - The UAF is confirmed to cause a KASAN kernel failure, and repeated malformed ioctls can independently create a printk storm leading to stalls, watchdog lockups, or panic."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["Documentation/userspace-api/ioctl/ioctl-number.rst","drivers/crypto/intel/qat/qat_common/adf_cfg.c","drivers/crypto/intel/qat/qat_common/adf_cfg.h","drivers/crypto/intel/qat/qat_common/adf_cfg_common.h","drivers/crypto/intel/qat/qat_common/adf_cfg_user.h","drivers/crypto/intel/qat/qat_common/adf_common_drv.h","drivers/crypto/intel/qat/qat_common/adf_ctl_drv.c","drivers/crypto/intel/qat/qat_common/adf_dev_mgr.c"],"versions":[{"version":"d8cba25d2c68992a6e7c1d329b690a9ebe01167d","lessThan":"071590a44cbc38483fceb1ab943363ec26868e1b","status":"affected","versionType":"git"},{"version":"d8cba25d2c68992a6e7c1d329b690a9ebe01167d","lessThan":"1de076f43e64bf65fbe7280a269c70e0e60518df","status":"affected","versionType":"git"},{"version":"d8cba25d2c68992a6e7c1d329b690a9ebe01167d","lessThan":"a4999664a5ef77bdb0c6e6b935f581ac8ce6b63a","status":"affected","versionType":"git"},{"version":"d8cba25d2c68992a6e7c1d329b690a9ebe01167d","lessThan":"6848a6e39cac44fdb7cb88f0f777df62172d1551","status":"affected","versionType":"git"},{"version":"d8cba25d2c68992a6e7c1d329b690a9ebe01167d","lessThan":"b1ea97076bd0a5196290deba172034e480646727","status":"affected","versionType":"git"},{"version":"d8cba25d2c68992a6e7c1d329b690a9ebe01167d","lessThan":"b8ebf008696de1ec08c90d51f94d7e40bd448be1","status":"affected","versionType":"git"},{"version":"d8cba25d2c68992a6e7c1d329b690a9ebe01167d","lessThan":"de2cc38489b629927910b1aeff69bba7bd5c6f1b","status":"affected","versionType":"git"},{"version":"d8cba25d2c68992a6e7c1d329b690a9ebe01167d","lessThan":"3ae49dd04dbb11fb73f17f58a982dba128abe83a","status":"affected","versionType":"git"},{"version":"d8cba25d2c68992a6e7c1d329b690a9ebe01167d","lessThan":"d237230728c567297f2f98b425d63156ab2ed17f","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["Documentation/userspace-api/ioctl/ioctl-number.rst","drivers/crypto/intel/qat/qat_common/adf_cfg.c","drivers/crypto/intel/qat/qat_common/adf_cfg.h","drivers/crypto/intel/qat/qat_common/adf_cfg_common.h","drivers/crypto/intel/qat/qat_common/adf_cfg_user.h","drivers/crypto/intel/qat/qat_common/adf_common_drv.h","drivers/crypto/intel/qat/qat_common/adf_ctl_drv.c","drivers/crypto/intel/qat/qat_common/adf_dev_mgr.c"],"versions":[{"version":"3.17","status":"affected"},{"version":"0","lessThan":"3.17","status":"unaffected","versionType":"semver"},{"version":"5.10.260","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.211","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.177","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.144","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.95","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.37","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.0.14","lessThanOrEqual":"7.0.*","status":"unaffected","versionType":"semver"},{"version":"7.1.2","lessThanOrEqual":"7.1.*","status":"unaffected","versionType":"semver"},{"version":"7.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"5.10.260"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"5.15.211"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"6.1.177"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"6.6.144"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"6.12.95"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"6.18.37"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"7.0.14"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"7.1.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"7.2"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/071590a44cbc38483fceb1ab943363ec26868e1b"},{"url":"https://git.kernel.org/stable/c/1de076f43e64bf65fbe7280a269c70e0e60518df"},{"url":"https://git.kernel.org/stable/c/a4999664a5ef77bdb0c6e6b935f581ac8ce6b63a"},{"url":"https://git.kernel.org/stable/c/6848a6e39cac44fdb7cb88f0f777df62172d1551"},{"url":"https://git.kernel.org/stable/c/b1ea97076bd0a5196290deba172034e480646727"},{"url":"https://git.kernel.org/stable/c/b8ebf008696de1ec08c90d51f94d7e40bd448be1"},{"url":"https://git.kernel.org/stable/c/de2cc38489b629927910b1aeff69bba7bd5c6f1b"},{"url":"https://git.kernel.org/stable/c/3ae49dd04dbb11fb73f17f58a982dba128abe83a"},{"url":"https://git.kernel.org/stable/c/d237230728c567297f2f98b425d63156ab2ed17f"}],"title":"crypto: qat - remove unused character device and IOCTLs","x_generator":{"engine":"bippy-1.2.0"}}}}