OpenBSD/ports stUwnFH — security/cracklib Makefile distinfo, security/cracklib/patches patch-util_cracklib-format

   Update to cracklib-2.10.4.
VersionDeltaFile
1.5+6-7security/cracklib/patches/patch-util_cracklib-format
1.20+2-2security/cracklib/distinfo
1.32+1-2security/cracklib/Makefile
+9-113 files

OpenBSD/src iKHfzBU — usr.bin/ssh ssh_config.5

   add warning not to use `Match exec` in /etc/ssh/ssh_config to control
   EnableSSHKeysign, as the user effectively controls how `Match exec`
   commands are run.

   Anthropic ANT-2026-1W8VNWB5

   (Anthropic proposed a fix, but IMO this is likely such a rarity that an
   admonition is sufficient).
VersionDeltaFile
1.434+12-2usr.bin/ssh/ssh_config.5
+12-21 files

OpenBSD/ports ArQ3bwM — print/htmldoc Makefile distinfo

   Update to htmldoc-1.9.25.
VersionDeltaFile
1.28+2-2print/htmldoc/distinfo
1.68+1-1print/htmldoc/Makefile
+3-32 files

OpenBSD/src G2aXxJ5 — usr.bin/ssh canohost.c

   ssh-keysign identifies the name that it will sign a hostbased challenge
   for using the connected socket. On some platforms it's possible to
   construct that returns an off-host address via getpeername(). In these
   cases, ssh-keysign (if enabled) can be tricked into a signing a challenge
   for an arbitrary destination if a bunch other default-off dominos fall
   just right.

   This checks that the peername of the socket is actually an address that
   appears on an attached interface.

   Anthropic ANT-2026-1BDN8VMO
VersionDeltaFile
1.79+63-7usr.bin/ssh/canohost.c
+63-71 files

OpenBSD/src MY3of0d — usr.bin/ssh monitor_wrap.c

   used cached hostname for `Match host` when UseDNS=yes; avoids multiple
   lookups for same host and a different number of lookups when the user
   exists vs not.

   Anthropic ANT-2026-14BFHJ3R
VersionDeltaFile
1.153+2-2usr.bin/ssh/monitor_wrap.c
+2-21 files

OpenBSD/src mx26Cwj — usr.bin/ssh krl.c

   Add RBTREE index over keyblob for KRL CA sections

   This avoid O(N^2) lookups which can grow pretty large when revoking many
   separate CA keys.

   Anthropic ANT-2026-L7T0QBTG

   ok tb@
VersionDeltaFile
1.67+102-40usr.bin/ssh/krl.c
+102-401 files

OpenBSD/src 7iJMqZS — usr.bin/ssh packet.c PROTOCOL

   don't let SSH_MSG_PONG replies pile up if the peer isn't sending ACKs
   and there is a significant amount of data in data in out transport obuf.
   Avoids an obscure post-auth soft memory DoS

   Anthropic ANT-2026-Z4SZFUYY
VersionDeltaFile
1.61+5-3usr.bin/ssh/PROTOCOL
1.348+6-1usr.bin/ssh/packet.c
+11-42 files

OpenBSD/src JZhMFP9 — usr.bin/ssh channels.h serverloop.c

   ratelimit refused forwarding logs to avoid endless peer-controlled
   logspam.

   Anthropic ANT-2026-YRF16X0O (w/ some tweaks)
VersionDeltaFile
1.476+48-9usr.bin/ssh/channels.c
1.250+9-5usr.bin/ssh/serverloop.c
1.172+2-1usr.bin/ssh/channels.h
+59-153 files

OpenBSD/src a3sE7Lm — usr.bin/ssh sftp.c

   check return value of sftp_glob() to avoid potential disappointment* later

   Anthropic ANT-2026-XJ0LZ1TL

   * NULL deref
VersionDeltaFile
1.263+16-4usr.bin/ssh/sftp.c
+16-41 files

OpenBSD/src tE8Us18 — usr.bin/ssh monitor.c gss-serv.c

   make StrictModes apply to ~/.k5login and the home directory that
   contains it, just like how it applies to other authn-critical files.

   Anthropic ANT-2026-W7F2ULDN
VersionDeltaFile
1.11+50-4usr.bin/ssh/gss-serv-krb5.c
1.20+5-3usr.bin/ssh/ssh-gss.h
1.41+3-3usr.bin/ssh/gss-serv.c
1.263+2-2usr.bin/ssh/monitor.c
+60-124 files

OpenBSD/src to11C5R — usr.bin/ssh ssh-pkcs11-client.c

   avoid fatal() if a PKCS#11 key was added multiple times (e.g. for
   multiple certificates) and then subsequently freed. The key-free code
   incorrectly assumed that keys were singular.

   Anthropic ANT-2026-V7H1QCC4
VersionDeltaFile
1.28+10-5usr.bin/ssh/ssh-pkcs11-client.c
+10-51 files

OpenBSD/src 0jaGaL8 — usr.bin/ssh monitor.c

   terminate monitor when auth options merge fails; avoids NULL dereference
   later

   Anthropic ANT-2026-UES5TKX0
VersionDeltaFile
1.262+6-3usr.bin/ssh/monitor.c
+6-31 files

OpenBSD/src FiosA8D — usr.bin/ssh auth.c

   only replace prior auth_opts if merging later ones succeeds.

   Part of fix for server fatal() with inconsistent log message when
   `AuthenticationMethods publickey,publickey` fails on the second key because
   of inconsistent authentication options.

   Anthropic ANT-2026-UES5TKX0
VersionDeltaFile
1.166+4-3usr.bin/ssh/auth.c
+4-31 files

OpenBSD/src Kz2ZrzT — usr.bin/ssh packet.h kex.c

   make strict KEX errors return an error rather than fatal()ing the
   process. This avoids ssh-keyscan crashing out when one host of many
   fails strict KEX.

   To avoid the risk of continuing past such a failure in ssh or sshd, make
   such failures "poison" the packet code so that future attempts to send
   or receive packets always an error.

   Anthropic ANT-2026-TU0DN0EM (poisoning bit by me)
VersionDeltaFile
1.347+41-1usr.bin/ssh/packet.c
1.198+7-5usr.bin/ssh/kex.c
1.109+3-1usr.bin/ssh/packet.h
+51-73 files

OpenBSD/src VsuOVwO — usr.bin/ssh serverloop.c channels.c

   fix ChannelTimeout for PermitTunnel forwardings. These were not being
   applied because 1) the server used an unexpected name to label the
   channel and 2) the "last used" time was never set for these channels and
   this would cause the timeout never to fire.

   Anthropic ANT-2026-SF9IN6I4
VersionDeltaFile
1.475+4-1usr.bin/ssh/channels.c
1.249+2-2usr.bin/ssh/serverloop.c
+6-32 files

OpenBSD/src JYuz4uj — usr.bin/ssh ssh-agent.c

   apply the existing limit for destination constraint usernames to the
   usernames parsed from hostbound signature requests, as these are a
   potential DoS channel against a destination-constrained agent

   Anthropic ANT-2026-SE08NY49
VersionDeltaFile
1.335+6-1usr.bin/ssh/ssh-agent.c
+6-11 files

OpenBSD/src pjQUPPE — regress/usr.bin/ssh proxyjump.sh

   test for %C containing ProxyJump user/port/extra

   Anthropic ANT-2026-S9DT2E2E
VersionDeltaFile
1.2+24-1regress/usr.bin/ssh/proxyjump.sh
+24-11 files

OpenBSD/src vOXtSRB — usr.bin/ssh readconf.h ssh.c

   include the entire ProxyJump specification in the %j and %C TOKENS
   previously this just included the jump _host_ alone and dropped the
   port, username and extra jump hops.

   Anthropic ANT-2026-S9DT2E2E
VersionDeltaFile
1.420+45-24usr.bin/ssh/readconf.c
1.643+2-3usr.bin/ssh/ssh.c
1.165+2-1usr.bin/ssh/readconf.h
+49-283 files

OpenBSD/src pMrsBMe — usr.bin/ssh ssh-agent.c

   enforce a global limit on the number of keys ssh-agent will store
   in destination constraints, also avoid calculating fingerprints for
   keys for use in debugging messages if debugging isn't enabled

   avoids more worst-case behaviour in ssh-agent.

   Anthropic ANT-2026-S1SM8TCF
VersionDeltaFile
1.334+56-8usr.bin/ssh/ssh-agent.c
+56-81 files

OpenBSD/src kbuIITW — usr.bin/ssh ssh-keygen.1 ssh-keygen.c

   make `ssh-keygen -Q` check all pubkeys in a file, rather than bailing
   after it has read a single one.

   Anthropic ANT-2026-RIK2HMYK
VersionDeltaFile
1.499+59-6usr.bin/ssh/ssh-keygen.c
1.244+4-2usr.bin/ssh/ssh-keygen.1
+63-82 files

OpenBSD/src IxRBwyE — usr.bin/ssh monitor.c

   harden privsep monitor: enforce CASignatureAlgorithms and RequiredRSASize
   checks for keys received from the unpriv process during publickey and
   hostbased authentication

   Anthropic ANT-2026-RBFG1KXP
VersionDeltaFile
1.261+31-1usr.bin/ssh/monitor.c
+31-11 files

OpenBSD/src CuDE4xo — usr.bin/ssh utf8.c

   grow destination buffer more aggressively to avoid bad worst-case
   behaviour when lots of characters that need escaping are processed

   Anthropic ANT-2026-P8BKU1E3
VersionDeltaFile
1.12+7-2usr.bin/ssh/utf8.c
+7-21 files

OpenBSD/src WpoW5ka — usr.bin/ssh servconf.c

   make `RevokedKeys none` inside a `Match` block do what it is supposed
   to do, rather than try to load a file called `none`, fail and refuse all
   connections

   Anthropic ANT-2026-NBFF2HDP
VersionDeltaFile
1.461+14-1usr.bin/ssh/servconf.c
+14-11 files

OpenBSD/src jbxQOYv — usr.bin/ssh ssh-keygen.c

   don't try to print private key in  `ssh-keygen -e -m hexdump`  if we
   didn't actually load one

   Anthropic ANT-2026-MZ3ZOEX6
VersionDeltaFile
1.498+13-6usr.bin/ssh/ssh-keygen.c
+13-61 files

OpenBSD/src u1wmCY9 — usr.bin/ssh sshkey.c ssh-rsa.c

   harden private key serialisation API to avoid NULL deref if it ever
   called with a public key.

   Anthropic ANT-2026-MZ3ZOEX6
VersionDeltaFile
1.30+6-3usr.bin/ssh/ssh-ecdsa.c
1.167+3-1usr.bin/ssh/sshkey.c
1.86+3-1usr.bin/ssh/ssh-rsa.c
1.25+3-1usr.bin/ssh/ssh-ed25519.c
+15-64 files

OpenBSD/src NgbgRsk — usr.bin/ssh sshconnect.c

   make ConnectTimeout apply to the initial KEX as ssh.1 promises.
   This isn't perfect: the timeout is applied per-packet read() rather
   than as a total time bound, but it at least allows a connection that
   stalls post-banner and pre-KEX to be automatically terminated

   Anthropic NT-2026-LZZ8V5RF
VersionDeltaFile
1.387+12-1usr.bin/ssh/sshconnect.c
+12-11 files

OpenBSD/src TypBZk0 — usr.bin/ssh ssh-keyscan.c

   don't count time spent in getaddrinfo() or obtaining the hostname to scan
   from stdin against active ssh-keyscan connections in progress.

   Avoids incorrectly timing out good hosts during unrelated stalled
   lookups/reads

   Anthropic ANT-2026-LU2X6L18
VersionDeltaFile
1.172+32-3usr.bin/ssh/ssh-keyscan.c
+32-31 files

OpenBSD/src dbGnXud — usr.bin/ssh channels.c

   better accounting when the peer exceeds it channel window. We allow a 10%
   grace before the connection is terminated but previously would reset the
   excess if the peer sent an empty packet after going into excess, allowing
   them to buffer more data than intended.

   This now requires the peer to fully pay down the excess before giving
   them back window.

   Anthropic ANT-2026-KM8MV6JI
VersionDeltaFile
1.474+14-4usr.bin/ssh/channels.c
+14-41 files

OpenBSD/src 48cNj4j — usr.bin/ssh auth-krb5.c auth-passwd.c

   clean up Kerberos ccache if KerberosAuthentication password authentication
   succeeds but the session is subsequently refused.

   Anthropic ANT-2026-JGFGOUGS
VersionDeltaFile
1.152+17-1usr.bin/ssh/monitor_wrap.c
1.354+12-4usr.bin/ssh/session.c
1.50+6-2usr.bin/ssh/auth-passwd.c
1.27+4-1usr.bin/ssh/auth-krb5.c
+39-84 files

OpenBSD/src vGfnNUs — usr.bin/ssh sftp-common.c

   missing header
VersionDeltaFile
1.38+2-1usr.bin/ssh/sftp-common.c
+2-11 files