Handlers for *_CFG_PAGE read / write ioctls in the mpr, mps, and mpt drivers allocated a buffer of a caller-specified size, but copied to it a fixed size header. Other heap content would be overwritten if the specified size was too small. Users with access to the mpr, mps or mpt device node may overwrite heap data, potentially resulting in privilege escalation. Note that the device node is only accessible to root and members of the operator group.
Los controladores para *_CFG_PAGE lectura/escritura ioctls en los controladores mpr, mps y mpt asignaron un búfer de un tamaño especificado por la persona que llama, pero copiaron en él un encabezado de tamaño fijo. Otro contenido del montón se sobrescribiría si el tamaño especificado fuera demasiado pequeño. Los usuarios con acceso al nodo del dispositivo mpr, mps o mpt pueden sobrescribir los datos del montón, lo que podría provocar una escalada de privilegios. Tenga en cuenta que solo el usuario raíz y los miembros del grupo de operadores pueden acceder al nodo del dispositivo.
This vulnerability allows local attackers to escalate privileges on affected installations of FreeBSD Kernel. An attacker must first obtain the ability to execute high-privileged code on the target system in order to exploit this vulnerability.
The specific flaw exists within the handling of arguments to the MPT device. The issue results from the lack of proper validation of the length of user-supplied data prior to copying it to a heap-based buffer. An attacker can leverage this vulnerability to escalate privileges and execute arbitrary code in the context of the kernel.