OpenBSD/xenocara ueNlUhX — xserver/Xext xres.c xvdisp.c, xserver/glamor glamor_xv.c

   Merge fixes from upstream for Xserver issues:
   * CVE-2026-109091: EDID DS_RANGES Out-Of-Bounds Write
   * CVE-2026-109092: XvShmPutImage Shared-Memory Bounds Overflow
   * CVE-2026-109093: XTestFakeInput Valuator Stack Out-Of-Bounds Write
   * CVE-2026-109904: XRes QueryClientIds Request Size Overflow
   * CVE-2026-109094: XRes QueryResourceBytes Swap Path Size Overflow
   * CVE-2026-109095: glamor Xv Image Size Integer Overflow
   * CVE-2026-109096: XvPutImage Negative Image Size Length Bypass
   * CVE-2026-109903: XvQueryImageAttributes Negative Size Reply
   from matthieu@

   this is errata/8.0/010_xserver.patch.sig
VersionDeltaFile
1.21.10.1+20-16xserver/hw/xfree86/modes/xf86EdidModes.c
1.16.6.1+6-5xserver/Xext/xtest.c
1.9.6.1+9-1xserver/glamor/glamor_xv.c
1.16.32.1+9-1xserver/Xext/xvdisp.c
1.15.6.1+6-0xserver/Xext/xres.c
+50-235 files

OpenBSD/xenocara LJLNhQD — xserver/Xext xres.c xvdisp.c, xserver/glamor glamor_xv.c

   Merge fixes from upstream for Xserver issues:
   * CVE-2026-109091: EDID DS_RANGES Out-Of-Bounds Write
   * CVE-2026-109092: XvShmPutImage Shared-Memory Bounds Overflow
   * CVE-2026-109093: XTestFakeInput Valuator Stack Out-Of-Bounds Write
   * CVE-2026-109904: XRes QueryClientIds Request Size Overflow
   * CVE-2026-109094: XRes QueryResourceBytes Swap Path Size Overflow
   * CVE-2026-109095: glamor Xv Image Size Integer Overflow
   * CVE-2026-109096: XvPutImage Negative Image Size Length Bypass
   * CVE-2026-109903: XvQueryImageAttributes Negative Size Reply
   from matthieu@

   this is errata/7.9/045_xserver.patch.sig
VersionDeltaFile
1.21.6.1+20-16xserver/hw/xfree86/modes/xf86EdidModes.c
1.16.2.1+6-5xserver/Xext/xtest.c
1.9.2.1+9-1xserver/glamor/glamor_xv.c
1.16.28.1+9-1xserver/Xext/xvdisp.c
1.15.2.1+6-0xserver/Xext/xres.c
+50-235 files

OpenBSD/src t8uu4aP — sys/dev/wscons wsemul_vt100_subr.c wsemul_vt100.c

   Make sure to bounds check the cursor column when moved by escape sequences,
   when double-width character mode is enabled. This could lead to out-of-bounds
   array accesses.

   Reported by OpenAI.
   from miod@

   this is errata/8.0/019_wscons.patch.sig
VersionDeltaFile
1.49.4.1+11-5sys/dev/wscons/wsemul_vt100.c
1.32.10.1+7-4sys/dev/wscons/wsemul_vt100_subr.c
+18-92 files

OpenBSD/src bZkiDog — sys/dev/wscons wsemul_vt100_subr.c wsemul_vt100.c

   Make sure to bounds check the cursor column when moved by escape sequences,
   when double-width character mode is enabled. This could lead to out-of-bounds
   array accesses.

   Reported by OpenAI.
   from miod@

   this is errata/7.9/054_wscons.patch.sig
VersionDeltaFile
1.48.6.2+11-5sys/dev/wscons/wsemul_vt100.c
1.32.6.1+7-4sys/dev/wscons/wsemul_vt100_subr.c
+18-92 files

OpenBSD/src w3AcUQZ — sys/netinet6 nd6_nbr.c

   Avoid use-after-free in IPv6 duplicate address detection.

   An expired DAD timer waiting for netlock could find the dadq of a
   new DAD for the same address and destroy it while its timer was
   still pending.  Pass struct dadq to the timer and check under
   exclusive netlock that it is still the active one.

   from OpenAI
   from bluhm@; OK deraadt@ mvs@

   this is errata/8.0/018_nd6dad.patch.sig
VersionDeltaFile
1.165.6.1+8-9sys/netinet6/nd6_nbr.c
+8-91 files

OpenBSD/src ZKsGrGa — sys/netinet6 nd6_nbr.c

   Avoid use-after-free in IPv6 duplicate address detection.

   An expired DAD timer waiting for netlock could find the dadq of a
   new DAD for the same address and destroy it while its timer was
   still pending.  Pass struct dadq to the timer and check under
   exclusive netlock that it is still the active one.

   from OpenAI
   from bluhm@; OK deraadt@ mvs@

   this is errata/7.9/053_nd6dad.patch.sig
VersionDeltaFile
1.165.4.1+8-9sys/netinet6/nd6_nbr.c
+8-91 files

OpenBSD/src JJ6AfUj — sys/netinet tcp_input.c

   Fix race where TCP syn cache could free a used route.

   Route timer code is not MP safe and relies on netlock.  As
   syn_cache_put() may free a route, syn_cache_timer() has to hold
   shared netlock until syn_cache_put() has finished.

   from OpenAI
   from bluhm@; OK mvs@ deraadt@

   this is errata/8.0/017_tcpsyn.patch.sig
VersionDeltaFile
1.469.2.1+8-3sys/netinet/tcp_input.c
+8-31 files

OpenBSD/src Xvkn5B7 — sys/netinet tcp_input.c

   Fix race where TCP syn cache could free a used route.

   Route timer code is not MP safe and relies on netlock.  As
   syn_cache_put() may free a route, syn_cache_timer() has to hold
   shared netlock until syn_cache_put() has finished.

   from OpenAI
   from bluhm@; OK mvs@ deraadt@

   this is errata/7.9/052_tcpsyn.patch.sig
VersionDeltaFile
1.467.2.1+8-3sys/netinet/tcp_input.c
+8-31 files

OpenBSD/src 0dTGdRv — sys/netinet tcp_output.c

   Do not advance snd_nxt and snd_max for TCP SACK retransmits.

   In the SACK case, the calculation that decided whether we should
   adjust snd_nxt and snd_max was wrong.  Use the same logic as FreeBSD
   and NetBSD, and never advance them when retransmitting a SACK hole.
   This may delay a FIN packet in a corner case, but the logic gets
   much simpler.  Also simplify the SACK checks, sack_rxmit is only
   set if tp->sack_enable is true.

   reported by OpenAI
   from bluhm@; OK sashan@

   this is errata/8.0/016_tcpsack.patch.sig
VersionDeltaFile
1.158.4.1+6-10sys/netinet/tcp_output.c
+6-101 files

OpenBSD/src 1WfYGS5 — sys/netinet tcp_output.c

   Do not advance snd_nxt and snd_max for TCP SACK retransmits.

   In the SACK case, the calculation that decided whether we should
   adjust snd_nxt and snd_max was wrong.  Use the same logic as FreeBSD
   and NetBSD, and never advance them when retransmitting a SACK hole.
   This may delay a FIN packet in a corner case, but the logic gets
   much simpler.  Also simplify the SACK checks, sack_rxmit is only
   set if tp->sack_enable is true.

   reported by OpenAI
   from bluhm@; OK sashan@

   this is errata/7.9/051_tcpsack.patch.sig
VersionDeltaFile
1.158.2.1+6-10sys/netinet/tcp_output.c
+6-101 files

OpenBSD/src mKIjmIk — lib/libc/asr asr_utils.c

   off-by-one in unpack_dname can smash 1 extra byte.
   from Acts1631
   from deraadt@; OK otto@ florian@ millert@

   this is errata/8.0/015_libcasr.patch.sig
VersionDeltaFile
1.23.2.1+2-2lib/libc/asr/asr_utils.c
+2-21 files

OpenBSD/src fTcLqrM — lib/libc/asr asr_utils.c getrrsetbyname_async.c

   Avoid recursive cleanup in getrrsetbyname()
   Instead of freeing struct dns_query and struct dns_rr by walking the
   linked lists recursively, use a simple loop. This avoids a possible
   stack exhaustion unlikely to be reachable with the limits modern
   resolvers impose.
   From Dhiraj Mishra
   from tb@; OK djm@

   Ensure asr's sockets are close-on-exec to avoid a potential leak into children.
   from dgl@; OK jca@ brynet@

   Skip aliases that are not valid hostnames in gethostbyname(3).
   Consider the following CNAME chain:
   chain7.narrans.de.      60      IN      CNAME   chain\007.tlakh.xyz.
   chain\007.tlakh.xyz.    60      IN      CNAME   chain.sha256.net.
   chain.sha256.net.       60      IN      CNAME   sha256.net.
   sha256.net.             60      IN      A       213.239.192.17
   gethostbyname(3) would fail the query when it encounters
   chain\007.tlakh.xyz. and tries to add it to h_aliases member of struct

    [78 lines not shown]
VersionDeltaFile
1.65.2.1+57-52lib/libc/asr/getaddrinfo_async.c
1.51.2.1+29-22lib/libc/asr/gethostnamadr_async.c
1.41.16.1+23-20lib/libc/asr/res_send_async.c
1.70.2.1+31-8lib/libc/asr/asr.c
1.14.8.1+15-14lib/libc/asr/getrrsetbyname_async.c
1.22.10.1+13-9lib/libc/asr/asr_utils.c
+168-1253 files not shown
+181-1409 files

OpenBSD/src cDQKg9M — sys/uvm uvm_vnode.c

   Revert rev. 1.134 of uvm_vnode.c because it introduces a reference race
   uo_refs is not really serialized by the vmobjlock and at least in
   uvm_vnp_sync() it depends on the KERNEL_LOCK for that.
   The optimisation done in 1.134 predates the rwlock rework done by dlg@
   and is probably no longer important. The vmobjlock is still contended
   but the wakeup storm resulting in massive KERNEL_LOCK spin is gone.
   Reported by Acts1631
   from claudio@; OK kettenis@ deraadt@

   u_obj.uo_refs must be managed using atomic_inc_int_nv() and friends
   or the reference counting and inspection can evaluate incorrect.
   This affecs kbind.
   from deraadt@; OK claudio@ krw@
   diff from openai

   this is errata/8.0/014_kbind.patch.sig
VersionDeltaFile
1.151.4.1+12-13sys/uvm/uvm_vnode.c
+12-131 files

OpenBSD/src AiRwvzq — sys/uvm uvm_vnode.c

   Revert rev. 1.134 of uvm_vnode.c because it introduces a reference race
   uo_refs is not really serialized by the vmobjlock and at least in
   uvm_vnp_sync() it depends on the KERNEL_LOCK for that.
   The optimisation done in 1.134 predates the rwlock rework done by dlg@
   and is probably no longer important. The vmobjlock is still contended
   but the wakeup storm resulting in massive KERNEL_LOCK spin is gone.
   Reported by Acts1631
   from claudio@; OK kettenis@ deraadt@

   u_obj.uo_refs must be managed using atomic_inc_int_nv() and friends
   or the reference counting and inspection can evaluate incorrect.
   This affecs kbind.
   from deraadt@; OK claudio@ krw@
   diff from openai

   this is errata/7.9/049_kbind.patch.sig
VersionDeltaFile
1.151.2.1+12-13sys/uvm/uvm_vnode.c
+12-131 files

OpenBSD/src kgVPAj3 — lib/libssl s3_lib.c ssl_tlsext.c

   libssl: bump sigalg maximum to 256
   With PQ algorithms getting more widely deployed, the formerly generous cap
   of 32 sigalgs has long been known to be too tight for a while. A couple of
   years back jmatthew ran into interop issues with the oqs provider being
   enabled on OmniOS by default. OpenSSL 4.1 now announcing 39 sigalgs, this
   is becoming a real-world problem and is first and foremost protecting us
   from seamless interop with other stacks.
   To this end, introduce a helper shared between client and server to cap
   the list size and a macro similar to the one we have for supported groups.
   Thanks to DabeDotCom for reporting.
   Fixes https://github.com/libressl/portable/issues/1446
   from tb@; OK jsing@

   Correct outgoing record checks in the legacy TLSv1.2 stack.
   Ensure an existing record is not being written prior to commencing
   renegotiation or sending an alert in the legacy TLSv1.2 stack. The way
   that TLSv1.2 records are sent was changed in r1.79 of ssl_pkt.c, however
   this failed to correctly handle outgoing record checks. This means that
   renegotiation can be commenced or an alert can be sent while an application

    [11 lines not shown]
VersionDeltaFile
1.80.2.1+16-7lib/libssl/ssl_pkt.c
1.170.2.1+15-4lib/libssl/ssl_tlsext.c
1.266.2.1+3-2lib/libssl/s3_lib.c
+34-133 files

OpenBSD/src IL29zNd — lib/libssl ssl_tlsext.c

   libssl: bump sigalg maximum to 256

   With PQ algorithms getting more widely deployed, the formerly generous cap
   of 32 sigalgs has long been known to be too tight for a while. A couple of
   years back jmatthew ran into interop issues with the oqs provider being
   enabled on OmniOS by default. OpenSSL 4.1 now announcing 39 sigalgs, this
   is becoming a real-world problem and is first and foremost protecting us
   from seamless interop with other stacks.

   To this end, introduce a helper shared between client and server to cap
   the list size and a macro similar to the one we have for supported groups.

   Thanks to DabeDotCom for reporting.
   Fixes https://github.com/libressl/portable/issues/1446

   from tb@; OK jsing@

   this is errata/7.9/048_libressl.patch.sig
VersionDeltaFile
1.159.2.1+15-4lib/libssl/ssl_tlsext.c
+15-41 files

OpenBSD/src mDV2XrO — sys/lib/libz infback.c inflate.c

   Backport security fixes from zlib 1.4

   From the 9 security fixes listed in
   https://github.com/madler/zlib/releases/tag/v1.4
   we already have the fix for CVE-2026-85091 in 8.0.

   The remaining 8 of these are cherry-picked here for userland, 6 of which
   also affect the kernel. That required a bit of fiddling due to our patches
   (#ifdef SMALL, size for ZFREE in the kernel).

   There is an oob write of 32k and various other oob accesses, some info
   leaks and a cloexec carelessness.

   from tb@; looks good to deraadt@

   In detail this is:

   deflate.c, hunks 1 and 2:


    [111 lines not shown]
VersionDeltaFile
1.24.4.1+25-8sys/lib/libz/deflate.c
1.29.4.1+12-4sys/lib/libz/inflate.c
1.15.4.1+0-2sys/lib/libz/infback.c
+37-143 files

OpenBSD/src 9Iu9Kgw — sys/lib/libz infback.c inflate.c

   Backport security fixes from zlib 1.4

   From the 9 security fixes listed in
   https://github.com/madler/zlib/releases/tag/v1.4
   we already have the fix for CVE-2026-85091 in 8.0.

   The remaining 8 of these are cherry-picked here for userland, 6 of which
   also affect the kernel. That required a bit of fiddling due to our patches
   (#ifdef SMALL, size for ZFREE in the kernel).

   There is an oob write of 32k and various other oob accesses, some info
   leaks and a cloexec carelessness.

   from tb@; looks good to deraadt@

   In detail this is:

   deflate.c, hunks 1 and 2:


    [111 lines not shown]
VersionDeltaFile
1.24.2.1+25-8sys/lib/libz/deflate.c
1.29.2.1+12-4sys/lib/libz/inflate.c
1.15.2.1+0-2sys/lib/libz/infback.c
+37-143 files

OpenBSD/src eedVjUx — lib/libz infback.c gzlib.c

   Backport security fixes from zlib 1.4

   From the 9 security fixes listed in
   https://github.com/madler/zlib/releases/tag/v1.4
   we already have the fix for CVE-2026-85091 in 8.0.

   The remaining 8 of these are cherry-picked here for userland, 6 of which
   also affect the kernel. That required a bit of fiddling due to our patches
   (#ifdef SMALL, size for ZFREE in the kernel).

   There is an oob write of 32k and various other oob accesses, some info
   leaks and a cloexec carelessness.

   from tb@; looks good to deraadt@

   In detail this is:

   deflate.c, hunks 1 and 2:


    [111 lines not shown]
VersionDeltaFile
1.31.6.1+25-8lib/libz/deflate.c
1.25.6.1+12-4lib/libz/inflate.c
1.7.2.1+5-0lib/libz/gzwrite.c
1.12.6.1+2-2lib/libz/gzlib.c
1.14.6.1+0-2lib/libz/infback.c
+44-165 files

OpenBSD/src 2v83Lt9 — lib/libz infback.c gzlib.c

   zlib: fix buffer overwrite in non-blocking gzwrite
   Upstream commit df84af25
   from tb@

   Backport security fixes from zlib 1.4
   From the 9 security fixes listed in
   https://github.com/madler/zlib/releases/tag/v1.4
   we already have the fix for CVE-2026-85091 in 8.0.
   The remaining 8 of these are cherry-picked here for userland, 6 of which
   also affect the kernel. That required a bit of fiddling due to our patches
   (#ifdef SMALL, size for ZFREE in the kernel).
   There is an oob write of 32k and various other oob accesses, some info
   leaks and a cloexec carelessness.
   from tb@; looks good to deraadt@
   In detail this is:
   deflate.c, hunks 1 and 2:
   commit 1e4178b27f458904d3d2e2256a831708912e8b1a
   Author: Jason Gross <jason at theorem.dev>
   Date:   Mon Nov 2 20:43:28 2026 +0000

    [73 lines not shown]
VersionDeltaFile
1.31.2.1+25-8lib/libz/deflate.c
1.25.2.1+12-4lib/libz/inflate.c
1.6.2.1+9-1lib/libz/gzwrite.c
1.12.2.1+2-2lib/libz/gzlib.c
1.14.2.1+0-2lib/libz/infback.c
+48-175 files

OpenBSD/ports gw0JXdt — wayland/xwayland Makefile distinfo

   Update to xwayland 24.1.15
VersionDeltaFile
1.17.2.2+2-2wayland/xwayland/distinfo
1.23.2.2+1-1wayland/xwayland/Makefile
+3-32 files

OpenBSD/ports jPIcjXF — wayland/xwayland Makefile distinfo

   wayland/xwayland: Update to 24.1.15

   From yaydn (at) protonmail
VersionDeltaFile
1.19+2-2wayland/xwayland/distinfo
1.25+1-1wayland/xwayland/Makefile
+3-32 files

OpenBSD/ports 2ltnQQP — x11/kde-applications/bomber distinfo, x11/kde-applications/kalarm/pkg PLIST

   Update KDE Gear 26.08.3

   https://kde.org/announcements/changelogs/gear/26.08.3/
VersionDeltaFile
1.15+19-0x11/kde-applications/kontact/pkg/PLIST
1.26+8-0x11/kde-applications/lokalize/pkg/PLIST
1.36+8-0x11/kde-applications/konqueror/pkg/PLIST
1.2+5-0x11/kde-applications/kdominate/pkg/PLIST
1.24+5-0x11/kde-applications/kalarm/pkg/PLIST
1.60+2-2x11/kde-applications/bomber/distinfo
+47-2219 files not shown
+485-421225 files

OpenBSD/src FI0kRzD — etc/examples relayd.conf

   show how to send through a PROXY tunnel
VersionDeltaFile
1.8+13-1etc/examples/relayd.conf
+13-11 files

OpenBSD/src zGudKVc — usr.sbin/relayd proxy_protocol.c

   Use client source port instead of remote proxy port to unbreak PROXY sending

   https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt
   2.1. Human-readable header format (Version 1)

   A valid v1 header for 2001:db8::1/1234 to example.com/80 would be
     PROXY TCP6 2001:db8::1 2606:4700:10::6814:179a 1234 80
   but "forward to ... port 3128 proxy-protocol v1" would send
     PROXY TCP6 2001:db8::1 2606:4700:10::6814:179a 1234 3128

   Fix both v1 and v2;  tested against HAProxy "bind ... accept-proxy".

   "ok christoph" (code author)
   OK op
VersionDeltaFile
1.3+9-4usr.sbin/relayd/proxy_protocol.c
+9-41 files

OpenBSD/ports MTOeTY5 — sysutils/reaction crates.inc Makefile, sysutils/reaction/pkg reaction.rc

   Update to reaction-2.7.1

   Changes: https://framagit.org/ppom/reaction/-/blob/v2.7.1/CHANGELOG.md

   OK Lydia Sobot (MAINTAINER)
VersionDeltaFile
1.5+6-4sysutils/reaction/distinfo
1.7+1-2sysutils/reaction/Makefile
1.5+0-1sysutils/reaction/pkg/reaction.rc
1.3+1-0sysutils/reaction/crates.inc
+8-74 files

OpenBSD/xenocara OAbqyB8 — xserver/Xext xres.c xvdisp.c, xserver/glamor glamor_xv.c

   Merge fixes from upstream for Xserver issues:
   * CVE-2026-109091: EDID DS_RANGES Out-Of-Bounds Write
   * CVE-2026-109092: XvShmPutImage Shared-Memory Bounds Overflow
   * CVE-2026-109093: XTestFakeInput Valuator Stack Out-Of-Bounds Write
   * CVE-2026-109904: XRes QueryClientIds Request Size Overflow
   * CVE-2026-109094: XRes QueryResourceBytes Swap Path Size Overflow
   * CVE-2026-109095: glamor Xv Image Size Integer Overflow
   * CVE-2026-109096: XvPutImage Negative Image Size Length Bypass
   * CVE-2026-109903: XvQueryImageAttributes Negative Size Reply
VersionDeltaFile
1.22+20-16xserver/hw/xfree86/modes/xf86EdidModes.c
1.18+6-5xserver/Xext/xtest.c
1.10+9-1xserver/glamor/glamor_xv.c
1.17+9-1xserver/Xext/xvdisp.c
1.16+6-0xserver/Xext/xres.c
+50-235 files

OpenBSD/src rwxcLmJ — usr.sbin/smtpd mproc.c

   simplify m_error; all caller are passing a fixed string

   no need for the temporary buffer.
VersionDeltaFile
1.54+3-8usr.sbin/smtpd/mproc.c
+3-81 files

OpenBSD/src 1xhgLXY — lib/libcrypto/ec ec_curve_tables.h

   ec_curve_tables: silence a noisy MSVC warning

   Explicitly clear the upper bits of n0 on LP32 so that we don't see

   D:\a\portable\portable\crypto\ec\ec_curve_tables.h(1310,8): warning C4310: cast truncates constant value [D:\a\portable\portable\build\crypto\crypto_obj.vcxproj]
     (compiling source file '../../crypto/ec/ec_curve.c')

   on (almost?) every line using EC_CURVE_N0() on 32-bit Windows.

   Portable regress is happy: https://github.com/libressl/portable/pull/1464

   ok beck
VersionDeltaFile
1.2+2-2lib/libcrypto/ec/ec_curve_tables.h
+2-21 files

OpenBSD/src 5w5YyWH — sys/dev/fdt qcgpio_fdt.c

   Add new SoC support to access GPIO pins

   OK tobhe@
VersionDeltaFile
1.11+4-2sys/dev/fdt/qcgpio_fdt.c
+4-21 files