Lucene search

K
freebsdFreeBSD7467C611-B490-11EE-B903-001FC69CD6DC
HistoryJan 16, 2024 - 12:00 a.m.

xorg server -- Multiple vulnerabilities

2024-01-1600:00:00
vuxml.freebsd.org
11
x.org
server
vulnerabilities
heap buffer overflow
events
memory access

9.8 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

7.9 High

AI Score

Confidence

Low

0.002 Low

EPSS

Percentile

53.6%

The X.Org project reports:

CVE-2023-6816: Heap buffer overflow in DeviceFocusEvent
and ProcXIQueryPointer

    Both DeviceFocusEvent and the XIQueryPointer reply contain a bit
    for each logical button currently down. Buttons can be arbitrarily
    mapped to any value up to 255 but the X.Org Server was only
    allocating space for the device's number of buttons,
    leading to a heap overflow if a bigger value was used.

CVE-2024-0229: Reattaching to different master device may lead
to out-of-bounds memory access

    If a device has both a button class and a key class and
    numButtons is zero, we can get an out-of-bounds write due
    to event under-allocation in the DeliverStateNotifyEvent
    function.

CVE-2024-21885: Heap buffer overflow in
XISendDeviceHierarchyEvent

    The XISendDeviceHierarchyEvent() function allocates space to
    store up to MAXDEVICES (256) xXIHierarchyInfo structures in info.
    If a device with a given ID was removed and a new device with
    the same ID added both in the same operation,
    the single device ID will lead to two info structures being
    written to info.
    Since this case can occur for every device ID at once,
    a total of two times MAXDEVICES info structures might be written
    to the allocation, leading to a heap buffer overflow.

CVE-2024-21886: Heap buffer overflow in DisableDevice

    The DisableDevice() function is called whenever an enabled device
    is disabled and it moves the device from the inputInfo.devices
    linked list to the inputInfo.off_devices linked list.
    However, its link/unlink operation has an issue during the recursive
    call to DisableDevice() due to the prev pointer pointing to a
    removed device.
    This issue leads to a length mismatch between the total number of
    devices and the number of device in the list, leading to a heap
    overflow and, possibly, to local privilege escalation.

9.8 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

7.9 High

AI Score

Confidence

Low

0.002 Low

EPSS

Percentile

53.6%