FreeBSD Security Advisory FreeBSD-SA-16:15.sysarch [REVISED]

Pawel Jakub Dawidek pjd at FreeBSD.org
Wed Oct 26 06:15:11 UTC 2016


I'm pretty sure we didn't for unprivileged local DoS.

Robert, can you help me here? Do I recall correctly?

I remember one time when Colin did security advisory for unprivileged
local DoS and we had a discussion back then that this is dangerous
precedent, as users may start depending on it.

On Tue, Oct 25, 2016 at 10:47:44PM -0700, Xin LI wrote:
> It's unprivileged local DoS (if it's root DoS then we normally don't).
> 
> On Tue, Oct 25, 2016 at 9:27 PM, Pawel Jakub Dawidek <pjd at freebsd.org> wrote:
> > Hi guys,
> >
> > since when do we publish security advisories for local DoSes?
> >
> > On Tue, Oct 25, 2016 at 05:36:41PM +0000, FreeBSD Security Advisories wrote:
> >> -----BEGIN PGP SIGNED MESSAGE-----
> >> Hash: SHA512
> >>
> >> =============================================================================
> >> FreeBSD-SA-16:15.sysarch [REVISED]                          Security Advisory
> >>                                                           The FreeBSD Project
> >>
> >> Topic:          Incorrect argument validation in sysarch(2)
> >>
> >> Category:       core
> >> Module:         kernel
> >> Announced:      2016-10-25
> >> Credits:        Core Security, ahaha from Chaitin Tech
> >> Affects:        All supported versions of FreeBSD.
> >> Corrected:      2016-10-25 17:14:50 UTC (stable/11, 11.0-STABLE)
> >>                 2016-10-25 17:11:20 UTC (releng/11.0, 11.0-RELEASE-p2)
> >>                 2016-10-25 17:16:08 UTC (stable/10, 10.3-STABLE)
> >>                 2016-10-25 17:11:15 UTC (releng/10.3, 10.3-RELEASE-p11)
> >>                 2016-10-25 17:11:11 UTC (releng/10.2, 10.2-RELEASE-p24)
> >>                 2016-10-25 17:11:07 UTC (releng/10.1, 10.1-RELEASE-p41)
> >>                 2016-10-25 17:16:58 UTC (stable/9, 9.3-STABLE)
> >>                 2016-10-25 17:11:02 UTC (releng/9.3, 9.3-RELEASE-p49)
> >> CVE Name:       CVE-2016-1885
> >>
> >> For general information regarding FreeBSD Security Advisories,
> >> including descriptions of the fields above, security branches, and the
> >> following sections, please visit <URL:https://security.FreeBSD.org/>.
> >>
> >> 0.   Revision history
> >>
> >> v1.0  2016-03-16 Initial release.
> >> v1.1  2016-10-25 Revised patch to address a problem pointed out by
> >>                  ahaha from Chaitin Tech.
> >>
> >> I.   Background
> >>
> >> The IA-32 architecture allows programs to define segments, which provides
> >> based and size-limited view into the program address space.  The
> >> memory-resident processor structure, called Local Descriptor Table,
> >> usually abbreviated LDT, contains definitions of the segments.  Since
> >> incorrect or malicious segments would breach system integrity, operating
> >> systems do not provide processes direct access to the LDT, instead
> >> they provide system calls which allow controlled installation and removal
> >> of segments.
> >>
> >> II.  Problem Description
> >>
> >> A special combination of sysarch(2) arguments, specify a request to
> >> uninstall a set of descriptors from the LDT.  The start descriptor
> >> is cleared and the number of descriptors are provided.  Due to lack
> >> of sufficient bounds checking during argument validity verification,
> >> unbound zero'ing of the process LDT and adjacent memory can be initiated
> >> from usermode.
> >>
> >> III. Impact
> >>
> >> This vulnerability could cause the kernel to panic. In addition it is
> >> possible to perform a local Denial of Service against the system by
> >> unprivileged processes.
> >>
> >> IV.  Workaround
> >>
> >> No workaround is available, but only the amd64 architecture is affected.
> >>
> >> 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 is required.
> >>
> >> 2) To update your vulnerable system via a binary patch:
> >>
> >> Systems running a RELEASE version of FreeBSD platforms can be updated
> >> via the freebsd-update(8) utility:
> >>
> >> # freebsd-update fetch
> >> # freebsd-update install
> >>
> >> Reboot is required.
> >>
> >> 3) To update your vulnerable system via a source code patch:
> >>
> >> The following patches have been verified to apply to the applicable
> >> FreeBSD release branches.
> >>
> >> [*** v1.1 NOTE ***] If your sources are not yet patched using the initially
> >> published advisory patches, then you need to apply both sysarch.patch and
> >> sysarch-01.patch.  If your sources are already updated, or patched with
> >> patches from the initial advisory, then you need to apply sysarch-01.patch
> >> only.
> >>
> >> a) Download the relevant patch from the location below, and verify the
> >> detached PGP signature using your PGP utility.
> >>
> >> [ FreeBSD system not patched with original SA-16:15 patch]
> >> # fetch https://security.FreeBSD.org/patches/SA-16:15/sysarch.patch
> >> # fetch https://security.FreeBSD.org/patches/SA-16:15/sysarch.patch.asc
> >> # gpg --verify sysarch.patch.asc
> >>
> >> [ FreeBSD system that has been patched with original SA-16:15 patch]
> >> # fetch https://security.FreeBSD.org/patches/SA-16:15/sysarch-01.patch
> >> # fetch https://security.FreeBSD.org/patches/SA-16:15/sysarch-01.patch.asc
> >> # gpg --verify sysarch-01.patch.asc
> >>
> >> b) Apply the patch(es).  Execute the following commands as root for
> >> every patch file downloaded:
> >>
> >> # cd /usr/src
> >> # patch < /path/to/patch
> >>
> >> c) Recompile your kernel as described in
> >> <URL:https://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the
> >> system.
> >>
> >> VI.  Correction details
> >>
> >> The following list contains the correction revision numbers for each
> >> affected branch.
> >>
> >> Branch/path                                                      Revision
> >> - -------------------------------------------------------------------------
> >> stable/9/                                                         r307941
> >> releng/9.3/                                                       r307931
> >> stable/10/                                                        r307940
> >> releng/10.1/                                                      r307932
> >> releng/10.2/                                                      r307933
> >> releng/10.3/                                                      r307934
> >> stable/11/                                                        r307938
> >> releng/11.0/                                                      r307935
> >> - -------------------------------------------------------------------------
> >>
> >> To see which files were modified by a particular revision, run the
> >> following command, replacing NNNNNN with the revision number, on a
> >> machine with Subversion installed:
> >>
> >> # svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
> >>
> >> Or visit the following URL, replacing NNNNNN with the revision number:
> >>
> >> <URL:https://svnweb.freebsd.org/base?view=revision&revision=NNNNNN>
> >>
> >> VII. References
> >>
> >> <URL:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1885>
> >>
> >> The latest revision of this advisory is available at
> >> <URL:https://security.FreeBSD.org/advisories/FreeBSD-SA-16:15.sysarch.asc>
> >> -----BEGIN PGP SIGNATURE-----
> >>
> >> iQIcBAEBCgAGBQJYD5VZAAoJEO1n7NZdz2rnYT4QAMmnfUBnxiNHfzaEDMe2oU+H
> >> WIVFzFtU5FTAm3wJ3JORU1euqhusDoB7D8nova30alM2bHHd86epBGgym1Q+hxR2
> >> qTI+d8QimvQUWelz7DWPh0h3ZNlVfDxY8vKlr5SS0W/HOMjbG/O6U1AIw5p7cPaa
> >> LkDpqo2IN8xBL6tJFUKNEQS/GzuU2HtfKhQK0/ojT4DW61AkOZn4SZzzYBz3iO4p
> >> a8Otv4+aHzyNjTZRm/33SrFzdG0RZWyT/WXsEHlv5NiXVMPML+oY918jppqClkoO
> >> pwjcneWTqgYrE4vvVOADKOlWyNa4jFmPQSW7MmNEaF4RMd8TMcE/cBTKOi41YuOp
> >> la1JzvtWUnou7oQqy/xKr0S/Wa2x6ZhR4vBg28fkfrQhn55N+qqDicQ3F907dOm5
> >> A0ERHKgImlWSGM+Sf2CJyrUJUNUye0bVQMhrM4e3psZ7Jr20IXjnhppr1mufCjTH
> >> H+aEHv43o/1HuoltnjstiBZ/CZpFdIXkBpsHtzteZR2y+pmZFA9bB4uZeeML0mj3
> >> /cxj8rgPRmcjk6nSsnLWhq2YEFAZBC/lv43wqSrXE9+BBpSh6zM5NCTPb50/dBqf
> >> V553uuGEvJlHmOAoveXxYyxKcGpgZAcgJjWpAkCpoVxgdrbtLcPY5Z+8cy8fMO3G
> >> YHOkZydbLPaXOXimZfut
> >> =NWuL
> >> -----END PGP SIGNATURE-----
> >> _______________________________________________
> >> freebsd-security-notifications at freebsd.org mailing list
> >> https://lists.freebsd.org/mailman/listinfo/freebsd-security-notifications
> >> To unsubscribe, send any mail to "freebsd-security-notifications-unsubscribe at freebsd.org"
> >
> > --
> > Pawel Jakub Dawidek                       http://www.wheelsystems.com
> > FreeBSD committer                         http://www.FreeBSD.org
> > Am I Evil? Yes, I Am!                     http://mobter.com

-- 
Pawel Jakub Dawidek                       http://www.wheelsystems.com
FreeBSD committer                         http://www.FreeBSD.org
Am I Evil? Yes, I Am!                     http://mobter.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-security/attachments/20161026/64222dd9/attachment.sig>


More information about the freebsd-security mailing list