This bypass affects some configurations and runtime configurations.
We do not consider the root cause to be within OpenSSH but we are
well equipped to avoid it.
In commit 625475f, BoringSSL removed OPENSSL_RSA_SMALL_MODULUS_BITS and
OPENSSL_RSA_MAX_PUBEXP_BITS (previously having but not exporting them).
Check for them and if not found supply them, assuming they are no bigger
than when they were removed. Fixes builds with BoringSSL and AWS-LC.
arguments do what it is documented to do: supply the target username as a
default argument.
Anthropic ANT-2026-YX19N77E
OpenBSD-Commit-ID: 2cce51be98e3311666b4d715beea9588cfb55848
bail out if the unable to write to the first known_hosts file in the list.
Avoids a situation where a host key could be fully removed from all
known_hosts files.
Anthropic ANT-2026-YH3JNW7S
OpenBSD-Commit-ID: 88594d6e53dd23d6fad98c36df1e220bcfdf2bee
it makes it more difficult for a local attacker on the destination play
tricks where they replace paths around the time where the client is restoring
permissions on things.
Also skip setting permissions entirely when its not necessary to do so.
Anthropic ANT-2026-Y4XK22QX
OpenBSD-Commit-ID: 62cf3dad6cebc2b32c3aa8fdd4f982d8878adc69
that is hashed to generate the %C token. This avoids ambiguiuties like
10.0.0.1 port 2222, 10.0.0.12 port 222 and 10.0.0.122 port 22 all hashing to
the same value.
Anthropic ANT-2026-WLVAFTWQ
OpenBSD-Commit-ID: 31aa3dc883340c56e782a1600a7f4acde97b7ceb
host key was permitted by the user anyway, ssh(1) turns off a bunch of more
risk options including various forwardings. Unfortunately we had previously
neglected to turn them off over the mux channel.
Anthropic ANT-2026-VFW3JCKW
OpenBSD-Commit-ID: ad9c14298107c0d8891f68baddef63bfc976cac9
goes away. Avoid case where the server could still write stderr data while in
the DRAIN state if it never sent a CLOSE
Anthropic ANT-2026-T8GUCMJY
OpenBSD-Commit-ID: 061eaf51dee48212651ffaa9df46f915bc6494d1
implicit ProxyJump ones); observe if it already has exited via the main ssh.c
SIGCHLD handler and wrap the kill in sigprocmask() to avoid races.
Prevents SIGHUP from being delivered to an unrelated process if the proxy
command's PID is recycled.
Antropic ANT-2026-ODQD8QBH
OpenBSD-Commit-ID: 2fe79a15fcf1ff274f90a1d1dcd8cfe096d4a633
all algorithms, e.g. `PubkeyAcceptedAlgorithms -*` rather than defaulting
back to the full list
Anthropic ANT-2026-O2RQ9GNA
OpenBSD-Commit-ID: 6f4e3bd0376e568dc2af2c64a3b0b78edb16997c
files to allow discrimination between missing files/directories and failure
to open a file or directory.
Avoids possible (though unlikely) situation where a local attacker could
cause an Include'd file from being processed by doing tricks like hitting
fd limits at the right time.
Anthropic ANT-2026-NF7CR4JX
OpenBSD-Commit-ID: 561568f92b71cda06f47070c31a533995d652a70
markers in known_hosts These shouldn't be ignored if the user picked the
wrong whitespace...
Anthropic ANT-2026-LIFVTX5L
OpenBSD-Commit-ID: 28be5a0bf9d0d37668d64b8f8ac1c2bb605929f8
strip comments from the output. The intention is to obscure the hostnames and
so including comments, especially ones that come from ssh-keyscan, totally
defeats the purpose
Anthropic ANT-2026-KI130WJG
OpenBSD-Commit-ID: 92986fe7d33799f3a4cbbbfbc5f5ea4b284671e1
sends a certificate hostkey. This will ignore any key recorded for the IP
address (as is supposed to happen when CheckHostIP is enabled and fall back
to the new-hostkey path if the hostname had not already matched
Anthropic ANT-2026-KDXJ0Q4K
OpenBSD-Commit-ID: a6313135b82d2b08ed9940b9391a0c804ed524c3
-L) listener could be caused to fatal() by another user on the originating
host with access to the listening sockets. This was caused by incorrect
cleanup behaviour wrt half-open channels in channel_free() and the mux proxy
code handling open failures incorrectly too
Anthropic ANT-2026-FNOMFC4I
OpenBSD-Commit-ID: 53f8e6193d31f4880a0e54d01709219f076bad24
logs via asmprintf(), e.g. `ssh -O conninfo` and `ssh -O channels`
Anthropic ANT-2026-F5EYSC8G
OpenBSD-Commit-ID: d7258da015683c85ce6d9ffb5843b818add5fd59
ssh-agent by default, as this permits an attacker with access to a forwarded
agent a silly path-validity oracle. It's better just to be symmetric with the
restrictions on adding providers.
Note: a user of a forwarded agent can still remove a provider's _keys_
as it is important that access to keys can be easily revoked, this just
block removing entire providers by name.
Anthropic ANT-2026-DYLIZ0VY
OpenBSD-Commit-ID: 1a80510964e03bfd69336580a82a72cbb8983ea4
to lowercase and perform cname canonicalisation allowlist checks case
insensitively.
Avoids pattern-list evasion when the CanonicalizePermittedCNAMEs list
contains a negated match and improve robustness in the face of stuff
like DNS0x20
Anthropic ANT-2026-7MOIJVM6
OpenBSD-Commit-ID: 08f6d62615e059e0a433405d54b56448a0fccc48
Setting fork- after-auth via the commandline already did this, but if it was
done via the configuration file then stdin was being left attached and
keystrokes could end up getting sent to the server.
Anthropic ANT-2026-7CJ6YZKN
OpenBSD-Commit-ID: d4806af6626ba04bb83e185c2923b05e09adf2b9
monitor that could be used to probe account existence when this
authentication method is enabled.
Anthropic ANT-2026-60RCCQ1O
OpenBSD-Commit-ID: 07605a647a738f383678f244926cd43e833dba8c
regardless of port number. This is a safer and more consistent application of
revocations than the old behaviour of strictly matching the address and port.
Anthropic ANT-2026-521A8B2S
OpenBSD-Commit-ID: 3db971046b6e4852bee9a1fb77b7eeece6ae28c6
wildcard scope when used in `Match address` or similar. Seems like the least
surprising thing to do
Anthropic ANT-2026-4VBYIC2Q
OpenBSD-Commit-ID: b1437244abdad94abdd9e5adf59211f1866576c2