Описание
In the Linux kernel, the following vulnerability has been resolved:
netfilter: nf_tables: reject QUEUE/DROP verdict parameters
This reverts commit e0abdadcc6e1.
core.c:nf_hook_slow assumes that the upper 16 bits of NF_DROP verdicts contain a valid errno, i.e. -EPERM, -EHOSTUNREACH or similar, or 0.
Due to the reverted commit, its possible to provide a positive value, e.g. NF_ACCEPT (1), which results in use-after-free.
Its not clear to me why this commit was made.
NF_QUEUE is not used by nftables; "queue" rules in nftables will result in use of "nft_queue" expression.
If we later need to allow specifiying errno values from userspace (do not know why), this has to call NF_DROP_GETERR and check that "err <= 0" holds true.
In the Linux kernel, the following vulnerability has been resolved:
netfilter: nf_tables: reject QUEUE/DROP verdict parameters
This reverts commit e0abdadcc6e1.
core.c:nf_hook_slow assumes that the upper 16 bits of NF_DROP verdicts contain a valid errno, i.e. -EPERM, -EHOSTUNREACH or similar, or 0.
Due to the reverted commit, its possible to provide a positive value, e.g. NF_ACCEPT (1), which results in use-after-free.
Its not clear to me why this commit was made.
NF_QUEUE is not used by nftables; "queue" rules in nftables will result in use of "nft_queue" expression.
If we later need to allow specifiying errno values from userspace (do not know why), this has to call NF_DROP_GETERR and check that "err <= 0" holds true.
Ссылки
- https://nvd.nist.gov/vuln/detail/CVE-2024-26609
- https://git.kernel.org/stable/c/4e66422f1b56149761dc76030e6345d1cca6f869
- https://git.kernel.org/stable/c/55a60251fa50d4e68175e36666b536a602ce4f6c
- https://git.kernel.org/stable/c/6653118b176a00915125521c6572ae8e507621db
- https://git.kernel.org/stable/c/8365e9d92b85fda975a5ece7a3a139cb964018c8
- https://git.kernel.org/stable/c/8e34430e33b8a80bc014f3efe29cac76bc30a4b4
- https://git.kernel.org/stable/c/960cf4f812530f01f6acc6878ceaa5404c06af7b
- https://git.kernel.org/stable/c/f05a497e7bc8851eeeb3a58da180ba469efebb05
- https://git.kernel.org/stable/c/f342de4e2f33e0e39165d8639387aa6c19dff660
CVE ID
Связанные уязвимости
[REJECTED CVE] An issue was identified in the Linux kernel's netfilter subsystem related to nf_tables. The issue occurs when a positive value, such as NF_ACCEPT, is provided in the upper 16 bits of NF_DROP verdict parameters, which are expected to contain valid errno values (e.g., -EPERM). This improper input handling could lead to memory corruption, potentially allowing attackers to exploit the system.
Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.
Уязвимость компоненты netfilter ядра операционной системы Linux в функции nft_verdict_init(), позволяющая нарушителю оказать воздействие на конфиденциальность, целостность и доступность защищаемой информации
ELSA-2024-3138: kernel security, bug fix, and enhancement update (MODERATE)