> CVSROOT: /cvs
> Module name: src
> Changes by: [email protected] 2016/12/06 15:32:59
>
> Modified files:
> lib/libc/net : linkaddr.c
>
> Log message:
> CVE-2016-6559: fix potential buffer overflow(s) in link_ntoa(3).
> A specially crafted struct sockaddr_dl argument can trigger a stack
> overflow of a static buffer in libc. An attacker may be able to
> use this to write to arbitrary locations in the data segment.
> >From FreeBSD (glebius); OK deraadt@ mestre@
May I suggest a little change here?
Decrement the remaining space in the last branch.
--- linkaddr.c.old 2016-12-07 00:32:58.000000000 +0200
+++ linkaddr.c 2016-12-07 02:33:57.691586172 +0200
@@ -78,7 +78,7 @@ link_ntoa(const struct sockaddr_dl *sdl)
if (rem < 2)
break;
*out++ = hexlist[i];
- rem++;
+ rem--;
}
}
*out = 0;