{"id":"CVE-2022-49802","state":"PUBLISHED","title":"ftrace: Fix null pointer dereference in ftrace_add_mod()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nftrace: Fix null pointer dereference in ftrace_add_mod()\n\nThe @ftrace_mod is allocated by kzalloc(), so both the members {prev,next}\nof @ftrace_mode->list are NULL, it's not a valid state to call list_del().\nIf kstrdup() for @ftrace_mod->{func|module} fails, it goes to @out_free\ntag and calls free_ftrace_mod() to destroy @ftrace_mod, then list_del()\nwill write prev->next and next->prev, where null pointer dereference\nhappens.\n\nBUG: kernel NULL pointer dereference, address: 0000000000000008\nOops: 0002 [#1] PREEMPT SMP NOPTI\nCall Trace:\n <TASK>\n ftrace_mod_callback+0x20d/0x220\n ? do_filp_open+0xd9/0x140\n ftrace_process_regex.isra.51+0xbf/0x130\n ftrace_regex_write.isra.52.part.53+0x6e/0x90\n vfs_write+0xee/0x3a0\n ? __audit_filter_op+0xb1/0x100\n ? auditd_test_task+0x38/0x50\n ksys_write+0xa5/0xe0\n do_syscall_64+0x3a/0x90\n entry_SYSCALL_64_after_hwframe+0x63/0xcd\nKernel panic - not syncing: Fatal exception\n\nSo call INIT_LIST_HEAD() to initialize the list member to fix this issue.","publishedAt":"2025-05-01T14:09:30.308Z","updatedAt":"2026-05-11T19:07:04.562Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"673feb9d76ab3eddde7acfd94b206e321cfc90b9","status":"affected","lessThan":"665b4c6648bf2b91f69b33817f4321cf4c3cafe9","versionType":"git"},{"version":"673feb9d76ab3eddde7acfd94b206e321cfc90b9","status":"affected","lessThan":"b5bfc61f541d3f092b13dedcfe000d86eb8e133c","versionType":"git"},{"version":"673feb9d76ab3eddde7acfd94b206e321cfc90b9","status":"affected","lessThan":"f715f31559b82e3f75ce047fa476de63d8107584","versionType":"git"},{"version":"673feb9d76ab3eddde7acfd94b206e321cfc90b9","status":"affected","lessThan":"6a14828caddad0d989495a72af678adf60992704","versionType":"git"},{"version":"673feb9d76ab3eddde7acfd94b206e321cfc90b9","status":"affected","lessThan":"1bea037a1abb23a6729bef36a2265a4565f5ea77","versionType":"git"},{"version":"673feb9d76ab3eddde7acfd94b206e321cfc90b9","status":"affected","lessThan":"6e50eb4b1807017f6c2d5089064256ce2de8aef1","versionType":"git"},{"version":"673feb9d76ab3eddde7acfd94b206e321cfc90b9","status":"affected","lessThan":"19ba6c8af9382c4c05dc6a0a79af3013b9a35cd0","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/trace/ftrace.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.13","versionType":"semver"},{"version":"4.14.300","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.267","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.225","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.156","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.80","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.10","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/trace/ftrace.c"]}],"references":["https://git.kernel.org/stable/c/665b4c6648bf2b91f69b33817f4321cf4c3cafe9","https://git.kernel.org/stable/c/b5bfc61f541d3f092b13dedcfe000d86eb8e133c","https://git.kernel.org/stable/c/f715f31559b82e3f75ce047fa476de63d8107584","https://git.kernel.org/stable/c/6a14828caddad0d989495a72af678adf60992704","https://git.kernel.org/stable/c/1bea037a1abb23a6729bef36a2265a4565f5ea77","https://git.kernel.org/stable/c/6e50eb4b1807017f6c2d5089064256ce2de8aef1","https://git.kernel.org/stable/c/19ba6c8af9382c4c05dc6a0a79af3013b9a35cd0"],"weaknesses":[],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/49xxx/CVE-2022-49802.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-49802","state":"PUBLISHED","datePublished":"2025-05-01T14:09:30.308Z","dateUpdated":"2026-05-11T19:07:04.562Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-05-01T14:05:17.225Z"},"containers":{"cna":{"title":"ftrace: Fix null pointer dereference in ftrace_add_mod()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nftrace: Fix null pointer dereference in ftrace_add_mod()\n\nThe @ftrace_mod is allocated by kzalloc(), so both the members {prev,next}\nof @ftrace_mode->list are NULL, it's not a valid state to call list_del().\nIf kstrdup() for @ftrace_mod->{func|module} fails, it goes to @out_free\ntag and calls free_ftrace_mod() to destroy @ftrace_mod, then list_del()\nwill write prev->next and next->prev, where null pointer dereference\nhappens.\n\nBUG: kernel NULL pointer dereference, address: 0000000000000008\nOops: 0002 [#1] PREEMPT SMP NOPTI\nCall Trace:\n <TASK>\n ftrace_mod_callback+0x20d/0x220\n ? do_filp_open+0xd9/0x140\n ftrace_process_regex.isra.51+0xbf/0x130\n ftrace_regex_write.isra.52.part.53+0x6e/0x90\n vfs_write+0xee/0x3a0\n ? __audit_filter_op+0xb1/0x100\n ? auditd_test_task+0x38/0x50\n ksys_write+0xa5/0xe0\n do_syscall_64+0x3a/0x90\n entry_SYSCALL_64_after_hwframe+0x63/0xcd\nKernel panic - not syncing: Fatal exception\n\nSo call INIT_LIST_HEAD() to initialize the list member to fix this issue."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"673feb9d76ab3eddde7acfd94b206e321cfc90b9","status":"affected","lessThan":"665b4c6648bf2b91f69b33817f4321cf4c3cafe9","versionType":"git"},{"version":"673feb9d76ab3eddde7acfd94b206e321cfc90b9","status":"affected","lessThan":"b5bfc61f541d3f092b13dedcfe000d86eb8e133c","versionType":"git"},{"version":"673feb9d76ab3eddde7acfd94b206e321cfc90b9","status":"affected","lessThan":"f715f31559b82e3f75ce047fa476de63d8107584","versionType":"git"},{"version":"673feb9d76ab3eddde7acfd94b206e321cfc90b9","status":"affected","lessThan":"6a14828caddad0d989495a72af678adf60992704","versionType":"git"},{"version":"673feb9d76ab3eddde7acfd94b206e321cfc90b9","status":"affected","lessThan":"1bea037a1abb23a6729bef36a2265a4565f5ea77","versionType":"git"},{"version":"673feb9d76ab3eddde7acfd94b206e321cfc90b9","status":"affected","lessThan":"6e50eb4b1807017f6c2d5089064256ce2de8aef1","versionType":"git"},{"version":"673feb9d76ab3eddde7acfd94b206e321cfc90b9","status":"affected","lessThan":"19ba6c8af9382c4c05dc6a0a79af3013b9a35cd0","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/trace/ftrace.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.13","versionType":"semver"},{"version":"4.14.300","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.267","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.225","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.156","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.80","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.10","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/trace/ftrace.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/665b4c6648bf2b91f69b33817f4321cf4c3cafe9"},{"url":"https://git.kernel.org/stable/c/b5bfc61f541d3f092b13dedcfe000d86eb8e133c"},{"url":"https://git.kernel.org/stable/c/f715f31559b82e3f75ce047fa476de63d8107584"},{"url":"https://git.kernel.org/stable/c/6a14828caddad0d989495a72af678adf60992704"},{"url":"https://git.kernel.org/stable/c/1bea037a1abb23a6729bef36a2265a4565f5ea77"},{"url":"https://git.kernel.org/stable/c/6e50eb4b1807017f6c2d5089064256ce2de8aef1"},{"url":"https://git.kernel.org/stable/c/19ba6c8af9382c4c05dc6a0a79af3013b9a35cd0"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T19:07:04.562Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"4.14.300"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"4.19.267"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"5.4.225"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"5.10.156"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"5.15.80"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"6.0.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"6.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}