[Midnightbsd-cvs] src [7469] trunk: Incorrect argument validation in sysarch(2)
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Thu Mar 17 08:46:05 EDT 2016
Revision: 7469
http://svnweb.midnightbsd.org/src/?rev=7469
Author: laffer1
Date: 2016-03-17 08:46:04 -0400 (Thu, 17 Mar 2016)
Log Message:
-----------
Incorrect argument validation in sysarch(2)
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 invalid
use of a signed intermediate value in the bounds checking during argument
validity verification, unbound zero'ing of the process LDT and adjacent
memory can be initiated from usermode.
Obtained from: FreeBSD.
Modified Paths:
--------------
trunk/UPDATING
trunk/sys/amd64/amd64/sys_machdep.c
Modified: trunk/UPDATING
===================================================================
--- trunk/UPDATING 2016-03-17 12:36:44 UTC (rev 7468)
+++ trunk/UPDATING 2016-03-17 12:46:04 UTC (rev 7469)
@@ -6,6 +6,17 @@
Fix a security issue with OpenSSH X11 forwarding that can allow an attacker
run shell commands on the call to xauth.
+ Incorrect argument validation in sysarch(2)
+
+ 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 invalid
+ use of a signed intermediate value in the bounds checking during argument
+ validity verification, unbound zero'ing of the process LDT and adjacent
+ memory can be initiated from usermode.
+
+ Patch obtained from FreeBSD.
+
20160229:
top now displays information on ZFS arc cache.
Modified: trunk/sys/amd64/amd64/sys_machdep.c
===================================================================
--- trunk/sys/amd64/amd64/sys_machdep.c 2016-03-17 12:36:44 UTC (rev 7468)
+++ trunk/sys/amd64/amd64/sys_machdep.c 2016-03-17 12:46:04 UTC (rev 7469)
@@ -586,8 +586,8 @@
struct i386_ldt_args *uap;
struct user_segment_descriptor *descs;
{
- int error = 0, i;
- int largest_ld;
+ int error = 0;
+ unsigned int largest_ld, i;
struct mdproc *mdp = &td->td_proc->p_md;
struct proc_ldt *pldt;
struct user_segment_descriptor *dp;
More information about the Midnightbsd-cvs
mailing list