Step 1: Spoofing the Netlink Message: A local, unprivileged user crafts a malicious netlink message, mimicking the format expected by ipq_read or ipulog_read functions. This message is designed to trigger a specific error condition or consume excessive resources within the iptables subsystem.
Step 2: Message Injection: The crafted netlink message is sent to the kernel netlink interface, targeting the iptables subsystem. The attacker uses a tool or custom code to send the spoofed message.
Step 3: Function Execution: The ipq_read or ipulog_read function receives the spoofed message. Due to the vulnerability, the function processes the message without proper validation of its origin or content.
Step 4: Resource Exhaustion/Crash: The malicious message causes the function to consume excessive resources (e.g., memory, CPU) or trigger an unexpected error condition. This can lead to a denial-of-service (DoS) by crashing the iptables subsystem, causing a kernel panic, or disrupting network traffic.