{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-74506","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-08-15T05:44:03.908Z","datePublished":"2026-08-15T12:27:30.057Z","dateUpdated":"2026-08-17T05:47:55.797Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-17T05:47:55.797Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nafs: Fix UAF when sending a message\n\nIn afs_make_call(), there's a race with async call reception and\ndestruction.  If a call is dispatched that doesn't have call->write_iter\nset (used to specify the data content for FS.StoreData), then the first\nrxrpc_kernel_send_data() will not set MSG_MORE in the msghdr.\n\nOnce rxrpc_send_data() queues the last request packet, the response could\ncome in at any time and cause the call to be completed and put.  However,\nafs_make_call() will look at the call again to see it ->write_iter should\nbe handled - something it's only allowed to do if it has its own ref on the\ncall.  Whilst this is the case for synchronous calls, it isn't true for\nasync calls such as FS.FetchData.\n\nThere's also a potential UAF in afs_make_call() in the event that an\nasynchronous call is being sent, but the call fails in some way (e.g. it\ngets aborted from the server).  The problem there is that afs_make_call()\ntries to abort a call if the rxrpc send fails, but the asynchronous\nnotification from rxrpc may have caused the afs_call to be torn down.\n\ngeneric/650 plays games with randomly taking CPUs offline, and can\ninterject a significant delay such that the call is deallocated before\nafs_make_call() gets to check call->write_iter - and a UAF ensues (caught\nby KASAN).\n\n   BUG: KASAN: slab-use-after-free in afs_make_call+0x1c90/0x2210 [kafs]\n   Read of size 8 at addr ffff888035e050e8 by task fsstress/1409\n\nFix this by making afs_make_op_call() give the op->call its own ref rather\nthan transferring the caller's ref to it and then dropping the ref when\nafs_make_call() returns.\n\nThis also means that the afs_make_call() func never loses its ref on the\ncall now."}],"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 UAF is in kAFS client afs_make_call() during outbound FS.FetchData/YFS.FetchData RPCs, reached via local VFS read or readahead on an afs-mounted file (read_iter → afs_issue_read → afs_fs_fetch_data → afs_make_op_call), not from unsolicited remote packet processing alone.\nAC:L - The attacker controls both sides of the race: concurrent reads/readahead (as in xfstests generic/650 fsstress) while a fast or malicious AFS server reply completes and frees the async afs_call before afs_make_call() re-checks call->write_iter; no uncontrolled memory layout is required.\nPR:L - Any unprivileged local user with read permission on an already-mounted AFS volume can trigger async FetchData; mounting requires admin, but exercising the vulnerable read path needs only normal file access, matching the unprivileged fsstress reproducer.\nUI:N - No victim interaction is required; the attacker or local stress tool initiates the reads that dispatch the vulnerable async RPC, and AFS being mounted is an environmental precondition rather than interactive user action.\nS:U - The slab use-after-free in the kernel AFS client may enable local privilege escalation but does not cross a VM, container runtime, or IOMMU security boundary.\nC:H - KASAN reports slab-use-after-free with an 8-byte read of call->write_iter after async completion frees the afs_call; UAF over attacker-influenceable freed slab memory enables arbitrary kernel memory read primitives.\nI:H - The same use-after-free in afs_make_call() can be leveraged via heap grooming and spraying to obtain arbitrary kernel write or control-flow hijack, not merely a benign crash.\nA:H - The bug reliably triggers KASAN failures and kernel oops during normal async FetchData I/O, and UAF races can panic or wedge the system even before full exploit development."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/afs/internal.h"],"versions":[{"version":"e49c7b2f6de7ff81ca34c56e4eeb4fa740c099f2","lessThan":"c0d3b81f703b2a9e37fe1347610a50cdf0078c27","status":"affected","versionType":"git"},{"version":"e49c7b2f6de7ff81ca34c56e4eeb4fa740c099f2","lessThan":"daaa726b14fc3026a6b328614d312b698f62f391","status":"affected","versionType":"git"},{"version":"e49c7b2f6de7ff81ca34c56e4eeb4fa740c099f2","lessThan":"4af1ec68d54b3871155914d584fb10669c41a861","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/afs/internal.h"],"versions":[{"version":"5.8","status":"affected"},{"version":"0","lessThan":"5.8","status":"unaffected","versionType":"semver"},{"version":"6.18.44","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.1.8","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":"5.8","versionEndExcluding":"6.18.44"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"7.1.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"7.2"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/c0d3b81f703b2a9e37fe1347610a50cdf0078c27"},{"url":"https://git.kernel.org/stable/c/daaa726b14fc3026a6b328614d312b698f62f391"},{"url":"https://git.kernel.org/stable/c/4af1ec68d54b3871155914d584fb10669c41a861"}],"title":"afs: Fix UAF when sending a message","x_generator":{"engine":"bippy-1.2.0"}}}}