-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 ============================================================================= FreeBSD-SA-16:03.linux Security Advisory The FreeBSD Project Topic: Linux compatibility layer incorrect futex handling Category: core Module: kernel Announced: 2016-01-14 Credits: Mateusz Guzik Affects: All supported versions of FreeBSD. Corrected: 2016-01-14 09:11:42 UTC (stable/10, 10.2-STABLE) 2016-01-14 09:10:46 UTC (releng/10.2, 10.2-RELEASE-p9) 2016-01-14 09:11:16 UTC (releng/10.1, 10.1-RELEASE-p26) 2016-01-14 09:11:48 UTC (stable/9, 9.3-STABLE) 2016-01-14 09:11:26 UTC (releng/9.3, 9.3-RELEASE-p33) CVE Name: CVE-2016-1880 For general information regarding FreeBSD Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit . I. Background FreeBSD is binary-compatible with the Linux operating system through a loadable kernel module/optional kernel component. The support is provided on amd64 and i386 machines. II. Problem Description A programming error in the handling of Linux futex robust lists may result in incorrect memory locations being accessed. III. Impact It is possible for a local attacker to read portions of kernel memory, which may result in a privilege escalation. IV. Workaround No workaround is available, but systems not using the Linux binary compatibility layer are not vulnerable. The following command can be used to test if the Linux binary compatibility layer is loaded: # kldstat -m linuxelf V. Solution Perform one of the following: 1) Upgrade your vulnerable system to a supported FreeBSD stable or release / security branch (releng) dated after the correction date. Reboot the system or unload and reload the linux.ko kernel module. 2) To update your vulnerable system via a binary patch: Systems running a RELEASE version of FreeBSD on the i386 or amd64 platforms can be updated via the freebsd-update(8) utility: # freebsd-update fetch # freebsd-update install Reboot the system or unload and reload the linux.ko kernel module. 2) To update your vulnerable system via a source code patch: The following patches have been verified to apply to the applicable FreeBSD release branches. a) Download the relevant patch from the location below, and verify the detached PGP signature using your PGP utility. # fetch http://security.FreeBSD.org/patches/SA-16:03/linux.patch # fetch http://security.FreeBSD.org/patches/SA-16:03/linux.patch.asc b) Apply the patch. # cd /usr/src # patch < /path/to/patch # cd /usr/src/sys/amd64/linux32 # make sysent # cd /usr/src/sys/i386/linux # make sysent c) Recompile your kernel and modules as described in . Reboot the system or unload and reload the linux.ko kernel module. VI. Correction details The following list contains the revision numbers of each file that was corrected in FreeBSD. Subversion: Branch/path Revision - --------------------------------------------------------------------------- stable/9/ r293898 releng/9.3/ r293896 stable/10/ r293897 releng/10.1/ r293894 releng/10.2/ r293893 - --------------------------------------------------------------------------- VII. References The latest revision of this advisory is available at -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJWmocRAAoJEO1n7NZdz2rnhKcQAIAKA4aKf4WLLG742Aplvuc/ pGZ9SU5HyjI2M6TeA329WNAg863b5s0i7n7jblnHUFRawnkZ8cVH90BLIQLDD1wA Xu8qa05tvIksndUTMA7TAEswNIsDemdtZE2gVfoVHUWP1j59L35bZ953TJ4AsLVK Ab7OsO0GkFADY88qju7myhk+LoPA0qD+jjCuEslATO/yBICBvomin2geadF/35F8 RV6MA1BDHNiayygaF4qeskMZbgNkCM3+l9dl5Hzo1ZEnY2fW1oeu/do/b4fwzjCu eex6jqRbl/bd0n249wr7mNVHgTtXpZUyBvczazpvGddDO0mpP64XxRxW4jas7sW4 WreTndMBwYxtJoFCYKgNDtYkBaq40+vR6DWmxovt43ZffeImxT/iM1CZPmN8aUKF VE47jOLqwSNm20njbq/Je5s8X8P8iFRRXBBW31w76OM6I3bfJy3MbuhR1+XzgOoR AZO+XH31Xqcw52XJVgslmMiwu2momgjk4oKk+R57SFd2d5HJAbVbAX0ReqIeQYWH BVhWS4qbGWBaDr6+wFyY0yZb2unVHnjlpY1J5z6a56K/ifwyTshJU5a1hSDFlGxb ARerBL2v+6+DmRLE7sJwdWjO4DsTHymML2pt6zN555Pkgu0qIAXQ4+JUbsqg3AFZ KCaN36BLv+pkQkth7//Z =kGuL -----END PGP SIGNATURE-----