View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0009782 | Kali Linux | Kali Package Improvement | public | 2026-07-13 08:33 | 2026-07-13 08:33 |
| Reporter | hppiscas | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | new | Resolution | open | ||
| Summary | 0009782: linux-image-amd64: nft list hooks returns an empty result because nfnetlink_hook is not built | ||||
| Description | Package: linux-image-7.0.12+kali-amd64 SummaryKali rolling's amd64 kernel has CONFIG_NETFILTER_NETLINK_HOOK disabled and does not provide the nfnetlink_hook module. As a result, the documented nftables diagnostic command "nft list hooks" returns no entries even when an active nftables base chain is present. Normal ruleset listing still works. This is a diagnostic/observability gap, not a claim that Kali's firewall is broken and not a security vulnerability. Tested environmentKali GNU/Linux Rolling, VERSION_ID=2026.3 development cycle Steps to reproduce
Observed behaviorThe kernel configuration contains: CONFIG_NETFILTER_NETLINK_HOOK is not setmodinfo reports: modinfo: ERROR: Module nfnetlink_hook not found. The temporary base chain is visible in "nft list ruleset": table inet kconfig_evidence { However, "nft list hooks inet" returns exit status 0 and produces exactly zero bytes of output. Setup and cleanup both return 0. Expected behavior and scopeThe nftables manual describes "list hooks" as showing registered functions and base chains. It explicitly states that this functionality requires CONFIG_NETFILTER_NETLINK_HOOK and that the module is named nfnetlink_hook: https://netfilter.org/projects/nftables/manpage.html I expected the temporary kconfig_evidence/input base chain to appear in "nft list hooks inet". The command is useful for diagnosing hook ordering among nftables base chains and kernel components such as conntrack and NAT. This report is limited to that diagnostic interface; ordinary nftables ruleset creation and listing work in the same guest. Configuration contextKali rolling 7.0.12 and the checked previous Kali snapshot both set CONFIG_NETFILTER_NETLINK_HOOK=n, so this does not look like a one-build regression. The checked current Debian, Fedora, Arch Linux, and openSUSE kernels build this feature as a module. This cross-distribution comparison is discovery context, not proof that Kali must use the same policy. Kali already enables: CONFIG_NETFILTER_ADVANCED=y Requested actionCould the Kali kernel maintainers please confirm whether disabling CONFIG_NETFILTER_NETLINK_HOOK is intentional? If there is no conflicting Kali policy, please consider building it as a module so that the documented "nft list hooks" diagnostic works. If keeping it disabled is intentional, documenting that limitation would also resolve the policy question. Thank you for reviewing this. hppiscas | ||||
| Attached Files | kali_nfnetlink_hook_public_evidence_20260710.txt (1,481 bytes)
Kali CONFIG_NETFILTER_NETLINK_HOOK runtime evidence
===================================================
Collected: 2026-07-10 UTC
Environment: isolated, networkless KVM guest using official Kali rolling
userspace, kernel, modules, and nftables packages
Architecture: amd64
Kali VERSION_ID: 2026.3 development cycle
Kernel: 7.0.12+kali-amd64, package version 7.0.12-2kali1
nftables: 1.1.6
Kernel configuration
--------------------
CONFIG_NETFILTER_ADVANCED=y
CONFIG_NETFILTER_NETLINK=m
# CONFIG_NETFILTER_NETLINK_HOOK is not set
CONFIG_NF_TABLES=m
Module availability
-------------------
$ modinfo nfnetlink_hook
modinfo: ERROR: Module nfnetlink_hook not found.
Runtime comparison
------------------
An empty accept-policy base chain was created in a disposable network
namespace. Setup returned exit status 0.
$ nft list ruleset
table inet kconfig_evidence {
chain input {
type filter hook input priority filter; policy accept;
}
}
$ nft list hooks inet
[no output]
The hook-list command returned exit status 0 but wrote exactly zero bytes.
The temporary table was then deleted successfully. This demonstrates a
missing hook-dump diagnostic, not a failure of the normal nftables filtering
path and not a security vulnerability.
Primary documentation
---------------------
The nftables manual documents "list hooks" and states that it requires
CONFIG_NETFILTER_NETLINK_HOOK, whose module is named nfnetlink_hook:
https://netfilter.org/projects/nftables/manpage.html
| ||||