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

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

   don't print stack garbage as a file's size in sftp `ls -lh` when the file
   is exactly 2^63 bytes.

   Anthropic ANT-2026-JALC5MLW
VersionDeltaFile
1.37+4-2usr.bin/ssh/sftp-common.c
+4-21 files

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

   disallow use of certificates signed with RSA/SHA1 in sshsig

   Anthropic ANT-2026-IQ6B344U
VersionDeltaFile
1.243+9-2usr.bin/ssh/ssh-keygen.1
1.42+10-1usr.bin/ssh/sshsig.c
+19-32 files

OpenBSD/src ZunYgVz — usr.bin/ssh gss-genr.c

   avoid debug message printing past the end of an unterminated string
   on a GSSAPIAuthentication failure path

   Anthropic ANT-2026-IFWU9Y2V
VersionDeltaFile
1.32+3-2usr.bin/ssh/gss-genr.c
+3-21 files

OpenBSD/src auUIZYm — usr.bin/ssh session.c

   avoid pty fd leak if a session is opened, a pty is requested and then
   closed before any shell/exec/subsystem request is made.

   Anthropic ANT-2026-F1Z1MHTE
VersionDeltaFile
1.353+3-7usr.bin/ssh/session.c
+3-71 files

OpenBSD/src IRwoLfp — usr.bin/ssh kexgexs.c

   have unpriv process reject oversize DH-GEX groups rather than
   just relying on the monitor to do it; improves logging

   Anthropic ANT-2026-EHAZM3AZ
VersionDeltaFile
1.52+3-2usr.bin/ssh/kexgexs.c
+3-21 files

OpenBSD/src xiFdCsh — usr.bin/ssh ssh-pkcs11.c

   avoid fatal() exit of ssh-pkcs11-helper if asked to sign a zero-length
   ed25519 signature.

   Anthropic ANT-2026-D209X7KS
VersionDeltaFile
1.79+3-2usr.bin/ssh/ssh-pkcs11.c
+3-21 files

OpenBSD/src 8zBlxdH — usr.bin/ssh servconf.c

   make UnusedConnectionTimeout and FingerprintHash properly first-match-wins

   Anthropic ANT-2026-BNQMERCV
VersionDeltaFile
1.460+3-3usr.bin/ssh/servconf.c
+3-31 files

OpenBSD/src 03hjAwi — usr.bin/ssh ssh-rsa.c

   enforce some basic size and consistency checks on RSA private values
   (d, iqmp, etc). This could be used for an (unlikely) DoS against ssh-agent
   if an attacker can add a bogus key to it.

   Anthropic ANT-2026-9VCMKJ8F
VersionDeltaFile
1.85+31-2usr.bin/ssh/ssh-rsa.c
+31-21 files