{"id":"CVE-2022-49688","state":"PUBLISHED","title":"afs: Fix dynamic root getattr","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nafs: Fix dynamic root getattr\n\nThe recent patch to make afs_getattr consult the server didn't account\nfor the pseudo-inodes employed by the dynamic root-type afs superblock\nnot having a volume or a server to access, and thus an oops occurs if\nsuch a directory is stat'd.\n\nFix this by checking to see if the vnode->volume pointer actually points\nanywhere before following it in afs_getattr().\n\nThis can be tested by stat'ing a directory in /afs.  It may be\nsufficient just to do \"ls /afs\" and the oops looks something like:\n\n        BUG: kernel NULL pointer dereference, address: 0000000000000020\n        ...\n        RIP: 0010:afs_getattr+0x8b/0x14b\n        ...\n        Call Trace:\n         <TASK>\n         vfs_statx+0x79/0xf5\n         vfs_fstatat+0x49/0x62","publishedAt":"2025-02-26T02:24:13.686Z","updatedAt":"2026-05-23T15:22:44.050Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"b76ea7c06b24dcf97ea3379b6957d5b99c346ea0","status":"affected","lessThan":"65c24caf1b9f5b08397c6e805ec24ebc390c6e4d","versionType":"git"},{"version":"dba1941f5bc3de6b460685155b89ae1182824fc8","status":"affected","lessThan":"e3a232e5767051483ffad4cef7d0a89d292a192b","versionType":"git"},{"version":"61a4cc41e5c1b77d05a12798f8032050aa75f3c8","status":"affected","lessThan":"7b564e3254b7db5fbfbf11a824627a6c31b932b4","versionType":"git"},{"version":"94bf8bfb009fad247d02f12e4c443411c8445412","status":"affected","lessThan":"2b2bba96526f25f2eba74ecadb031de2e05a83ce","versionType":"git"},{"version":"2aeb8c86d49967552394d5e723f87454cb53f501","status":"affected","lessThan":"7844ceada44eca740d31beb3d97b8511b1ca0a9b","versionType":"git"},{"version":"2aeb8c86d49967552394d5e723f87454cb53f501","status":"affected","lessThan":"cb78d1b5efffe4cf97e16766329dd7358aed3deb","versionType":"git"},{"version":"9e655a8b874d7c56e02938ddb221b16e293793df","status":"affected","versionType":"git"},{"version":"4.19.245","status":"affected","lessThan":"4.19.250","versionType":"semver"},{"version":"5.4.196","status":"affected","lessThan":"5.4.202","versionType":"semver"},{"version":"5.10.118","status":"affected","lessThan":"5.10.127","versionType":"semver"},{"version":"5.15.42","status":"affected","lessThan":"5.15.51","versionType":"semver"},{"version":"5.17.10","status":"affected","lessThan":"5.18","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/afs/inode.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.18","versionType":"semver"},{"version":"4.19.250","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.202","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.127","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.51","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.18.8","status":"unaffected","lessThanOrEqual":"5.18.*","versionType":"semver"},{"version":"5.19","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/afs/inode.c"]}],"references":["https://git.kernel.org/stable/c/65c24caf1b9f5b08397c6e805ec24ebc390c6e4d","https://git.kernel.org/stable/c/e3a232e5767051483ffad4cef7d0a89d292a192b","https://git.kernel.org/stable/c/7b564e3254b7db5fbfbf11a824627a6c31b932b4","https://git.kernel.org/stable/c/2b2bba96526f25f2eba74ecadb031de2e05a83ce","https://git.kernel.org/stable/c/7844ceada44eca740d31beb3d97b8511b1ca0a9b","https://git.kernel.org/stable/c/cb78d1b5efffe4cf97e16766329dd7358aed3deb"],"weaknesses":[],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/49xxx/CVE-2022-49688.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-49688","state":"PUBLISHED","datePublished":"2025-02-26T02:24:13.686Z","dateUpdated":"2026-05-23T15:22:44.050Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-02-26T02:21:30.442Z"},"containers":{"cna":{"title":"afs: Fix dynamic root getattr","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nafs: Fix dynamic root getattr\n\nThe recent patch to make afs_getattr consult the server didn't account\nfor the pseudo-inodes employed by the dynamic root-type afs superblock\nnot having a volume or a server to access, and thus an oops occurs if\nsuch a directory is stat'd.\n\nFix this by checking to see if the vnode->volume pointer actually points\nanywhere before following it in afs_getattr().\n\nThis can be tested by stat'ing a directory in /afs.  It may be\nsufficient just to do \"ls /afs\" and the oops looks something like:\n\n        BUG: kernel NULL pointer dereference, address: 0000000000000020\n        ...\n        RIP: 0010:afs_getattr+0x8b/0x14b\n        ...\n        Call Trace:\n         <TASK>\n         vfs_statx+0x79/0xf5\n         vfs_fstatat+0x49/0x62"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"b76ea7c06b24dcf97ea3379b6957d5b99c346ea0","status":"affected","lessThan":"65c24caf1b9f5b08397c6e805ec24ebc390c6e4d","versionType":"git"},{"version":"dba1941f5bc3de6b460685155b89ae1182824fc8","status":"affected","lessThan":"e3a232e5767051483ffad4cef7d0a89d292a192b","versionType":"git"},{"version":"61a4cc41e5c1b77d05a12798f8032050aa75f3c8","status":"affected","lessThan":"7b564e3254b7db5fbfbf11a824627a6c31b932b4","versionType":"git"},{"version":"94bf8bfb009fad247d02f12e4c443411c8445412","status":"affected","lessThan":"2b2bba96526f25f2eba74ecadb031de2e05a83ce","versionType":"git"},{"version":"2aeb8c86d49967552394d5e723f87454cb53f501","status":"affected","lessThan":"7844ceada44eca740d31beb3d97b8511b1ca0a9b","versionType":"git"},{"version":"2aeb8c86d49967552394d5e723f87454cb53f501","status":"affected","lessThan":"cb78d1b5efffe4cf97e16766329dd7358aed3deb","versionType":"git"},{"version":"9e655a8b874d7c56e02938ddb221b16e293793df","status":"affected","versionType":"git"},{"version":"4.19.245","status":"affected","lessThan":"4.19.250","versionType":"semver"},{"version":"5.4.196","status":"affected","lessThan":"5.4.202","versionType":"semver"},{"version":"5.10.118","status":"affected","lessThan":"5.10.127","versionType":"semver"},{"version":"5.15.42","status":"affected","lessThan":"5.15.51","versionType":"semver"},{"version":"5.17.10","status":"affected","lessThan":"5.18","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/afs/inode.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.18","versionType":"semver"},{"version":"4.19.250","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.202","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.127","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.51","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.18.8","status":"unaffected","lessThanOrEqual":"5.18.*","versionType":"semver"},{"version":"5.19","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/afs/inode.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/65c24caf1b9f5b08397c6e805ec24ebc390c6e4d"},{"url":"https://git.kernel.org/stable/c/e3a232e5767051483ffad4cef7d0a89d292a192b"},{"url":"https://git.kernel.org/stable/c/7b564e3254b7db5fbfbf11a824627a6c31b932b4"},{"url":"https://git.kernel.org/stable/c/2b2bba96526f25f2eba74ecadb031de2e05a83ce"},{"url":"https://git.kernel.org/stable/c/7844ceada44eca740d31beb3d97b8511b1ca0a9b"},{"url":"https://git.kernel.org/stable/c/cb78d1b5efffe4cf97e16766329dd7358aed3deb"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-23T15:22:44.050Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19.245","versionEndExcluding":"4.19.250"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.196","versionEndExcluding":"5.4.202"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.118","versionEndExcluding":"5.10.127"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.42","versionEndExcluding":"5.15.51"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"5.18.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"5.19"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17.10"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}