untrusted comment: verify with openbsd-75-base.pub
RWRGj1pRpprAfseCGgKfw1LNSK0xYZ9QbeJ8G8hwXfHQ4nnaC5j5HXPLeixXwgHBkRYxv6onri4vYlsNYdvyyC9YIWSvy57TSwM=

OpenBSD 7.5 errata 012, October 29, 2024:

Fix memory allocation error in the Xkb X11 server extension. CVE-2024-9632

Apply by doing:
   signify -Vep /etc/signify/openbsd-75-base.pub -x 012_xserver.patch.sig \
       -m - | (cd /usr/xenocara && patch -p0)

And then rebuild and install the X server:
   cd /usr/xenocara/xserver
   make -f Makefile.bsd-wrapper obj
   make -f Makefile.bsd-wrapper build

Index: xserver/xkb/xkb.c
===================================================================
RCS file: /cvs/xenocara/xserver/xkb/xkb.c,v
diff -u -p -u -r1.24 xkb.c
--- xserver/xkb/xkb.c   22 Jan 2023 09:44:42 -0000      1.24
+++ xserver/xkb/xkb.c   12 Oct 2024 07:52:49 -0000
@@ -2992,13 +2992,13 @@ _XkbSetCompatMap(ClientPtr client, Devic
        XkbSymInterpretPtr sym;
        unsigned int skipped = 0;

-        if ((unsigned) (req->firstSI + req->nSI) > compat->num_si) {
-            compat->num_si = req->firstSI + req->nSI;
+        if ((unsigned) (req->firstSI + req->nSI) > compat->size_si) {
+            compat->num_si = compat->size_si = req->firstSI + req->nSI;
            compat->sym_interpret = reallocarray(compat->sym_interpret,
-                                                 compat->num_si,
+                                                 compat->size_si,
                                                 sizeof(XkbSymInterpretRec));
            if (!compat->sym_interpret) {
-                compat->num_si = 0;
+                compat->num_si = compat->size_si = 0;
                return BadAlloc;
            }
        }