Bugzilla – Bug 603289
VUL-1: CVE-2010-2244: avahi: long packets crash avahi
Last modified: 2021-12-02 12:33:19 UTC
On my workstation avahi crashes every once in a while during normal operation. Now I finally managed to catch the crash in gdb: Received response from host 10.10.4.3 with invalid source port 35247 on interface 'eth0.0' on: running [tanana.local]: socket.c:687: avahi_recv_dns_packet_ipv4: Assertion `!(msg.msg_flags & MSG_TRUNC)' failed. Program received signal SIGABRT, Aborted. 0x00007fee10c934e5 in raise () from /lib64/libc.so.6 (gdb) bt #0 0x00007fee10c934e5 in raise () from /lib64/libc.so.6 #1 0x00007fee10c949b0 in abort () from /lib64/libc.so.6 #2 0x00007fee10c8c24a in __assert_fail () from /lib64/libc.so.6 #3 0x00007fee11a6209e in avahi_recv_dns_packet_ipv4 () from /usr/lib64/libavahi-core.so.6 #4 0x00007fee11a5afa2 in ?? () from /usr/lib64/libavahi-core.so.6 #5 0x00007fee11c875b8 in avahi_simple_poll_dispatch () from /usr/lib64/libavahi-common.so.3 #6 0x0000000000407d71 in run_server (c=<value optimized out>) at main.c:1096 #7 main (c=<value optimized out>) at main.c:1508 avahi hits the assertion when receiving an overly large packet. The fix is to gracefully ignore the packet rather than exiting I guess :-)
I've notified upstream&vendor-sec
upstream says it must be a kernel bug. Avahi uses ioctl FIONREAD to determine the buffer size for recvmsg. So the returned message should never be truncated. I don't know if the actual hardware matters. So here's mine, just in case Model: "Intel 82566DM Gigabit Network Connection" Vendor: pci 0x8086 "Intel Corporation" Device: pci 0x104a "82566DM Gigabit Network Connection" SubVendor: pci 0x8086 "Intel Corporation" SubDevice: pci 0x0001 Revision: 0x02 Driver: "e1000e" Driver Modules: "e1000e"
mass change P5 -> P3
Created attachment 369507 [details] prposed patch
Created attachment 371094 [details] 2nd version with ipv6 fixed too
CVE-2010-2244
the fix is in 11.3. bug is kept on planned updates for older distros
*** Bug 646961 has been marked as a duplicate of this bug. ***
Still missing for SLE-11-SP1:Update