summaryrefslogtreecommitdiff
path: root/usr.bin/ssh
AgeCommit message (Collapse)Author
2024-11-06ssh-agent implemented an all-or-nothing allow-list of FIDO applicationDamien Miller
IDs for security key-backed keys, to prevent web key handles from being used remotely as this would likely lead to unpleasant surprises. By default, only application IDs that start with "ssh:*" are allowed. This adds a -Owebsafe-allow=... argument that can override the default list with a more or less restrictive one. The default remains unchanged. ok markus@
2024-11-04Ignore extra groups that don't fit in the buffer passed to getgrouplist(3)Jeremie Courreges-Anglas
Our kernel supports 16 groups (NGROUPS_MAX), but nothing prevents an admin from adding a user to more groups. With that tweak we'll keep on ignoring them instead of potentially reading past the buffer passed to getgrouplist(3). That behavior is explicitely described in initgroups(3). ok millert@ gilles@
2024-10-27explicitly include endian.hDamien Miller
2024-10-27fix ML-KEM768x25519 KEX on big-endian systems;Damien Miller
spotted by jsg@ feedback/ok deraadt@
2024-10-25mlkem768x25519-sha256 has been promoted to default key exchangeChristian Weisgerber
2024-10-25promote mlkem768x25519-sha256 to be the default key exchange;Damien Miller
ok markus@
2024-10-24amake ssh-agent drop all keys when it receives SIGUSR1;Damien Miller
let's users zap keys without access to $SSH_AUTH_SOCK ok deraadt@
2024-10-24relax valid_domain() checks to allow an underscore as the firstDamien Miller
character. ok deraadt@
2024-10-22Add a sshd debug wrapper to run all of the subprograms from the buildDarren Tucker
directory while developing and debugging. Should help prevent accidentally testing against unchanged installed sshd-auth and sshd-session binaries. ok djm@
2024-10-22Make debug call printf("%s", NULL) safe. Prevents problems on platformsDarren Tucker
where this isn't safe (which it's not required to be). ok djm@
2024-10-18mention that LocalForward and RemoteForward can accept Unix domain socketDamien Miller
paths; GHPR115
2024-10-18remove duplicate check; GHPR392 from Pedro MartellettoDamien Miller
2024-10-18allow "-" as output file for moduli screeningDamien Miller
based on GHPR393
2024-10-18ssh-keyscan doesn't need it's own sshfatal() definition, it canDamien Miller
use the shared one from fatal.c based on GHPR401 from lengyijun
2024-10-18in _ssh_order_hostkeyalgs() consider ECDSA curve type when arrangingDamien Miller
the hostkey algorithms. AFAIK this code is unused in OpenSSH, but I guess others are using it based on GHPR387 from Pawel Jakub Dawidek
2024-10-18require control-escape character sequences passed via the '-e ^x'Damien Miller
commandline to be exactly two characters long. Avoids one by OOB read if ssh is invoked as "ssh -e^ ..." Spotted by Maciej Domanski in GHPR368
2024-10-18remove addr.[ch] functions that are unused and visbility-restrictDamien Miller
ones that are unused outside the implementation itself; based on GHPR#282 by tobias@
2024-10-18unreachable POLLERR case; from ya0guang via GHPR485Damien Miller
2024-10-18s/Sx/Cm/ for external references; from Domen Puncer Kugler via GHPR501Damien Miller
2024-10-14mention SshdAuthPath option; ok djm@Christian Weisgerber
2024-10-14Split per-connection sshd-session binaryDamien Miller
This splits the user authentication code from the sshd-session binary into a separate sshd-auth binary. This will be executed by sshd-session to complete the user authentication phase of the protocol only. Splitting this code into a separate binary ensures that the crucial pre-authentication attack surface has an entirely disjoint address space from the code used for the rest of the connection. It also yields a small runtime memory saving as the authentication code will be unloaded after thhe authentication phase completes. Joint work with markus@ feedback deraadt@ Tested in snaps since last week
2024-10-13don't start the ObscureKeystrokeTiming mitigations if there has beenDamien Miller
traffic on a X11 forwarding channel recently. Should fix X11 forwarding performance problems when this setting is enabled. Patch from Antonio Larrosa via bz3655
2024-10-12remove duplicate misc.h includeJonathan Gray
ok dtucker@
2024-10-06Turn off finite field (a.k.a modp) Diffie-Hellman key exchange in sshdDamien Miller
by default. Specifically, this removes the diffie-hellman-group* and diffie-hellman-group-exchange-* methods. The client is unchanged and continues to support these methods by default. Finite field Diffie Hellman is slow and computationally expensive for the same security level as Elliptic Curve DH or PQ key agreement while offering no redeeming advantages. ECDH has been specified for the SSH protocol for 15 years and some form of ECDH has been the default key exchange in OpenSSH for the last 14 years. ok markus@
2024-09-26fix previous change to ssh_config Match, which broken on negatedDamien Miller
Matches; spotted by phessler@ ok deraadt@
2024-09-25remove some unused defines; ok djm@Jonathan Gray
2024-09-25remove some unneeded Xo/Xc calls; from evan silbermanJason McIntyre
the original diff had a couple of errors, which i've fixed
2024-09-25fix regression introduced when I switched the "Match" criteria tokeniserDamien Miller
to a more shell-like one. Apparently the old tokeniser (accidentally?) allowed "Match criteria=argument" as well as the "Match criteria argument" syntax that we tested for. People were using this syntax so this adds back support for "Match criteria=argument" bz3739 ok dtucker
2024-09-24some extra paranoia, reminded by jsg@Damien Miller
2024-09-22remove some unused defines; ok djm@Jonathan Gray
2024-09-20remove unneeded semicolons; checked by millert@Jonathan Gray
2024-09-19openssh-9.9Damien Miller
2024-09-16use 64 bit math to avoid signed underflow. upstream code relies onDamien Miller
using -fwrapv to provide defined over/underflow behaviour, but we use -ftrapv to catch integer errors and abort the program. ok dtucker@
2024-09-15minor grammar/sort fixes for refuseconnection; ok djmJason McIntyre
2024-09-15bad whitespace in config dump outputDamien Miller
2024-09-15update the Streamlined NTRU Prime code from the "ref" implementationDamien Miller
in SUPERCOP 20201130 to the "compact" implementation in SUPERCOP 20240808. The new version is substantially faster. Thanks to Daniel J Bernstein for pointing out the new implementation (and of course for writing it). tested in snaps/ok deraadt@
2024-09-15document Match invalid-userDamien Miller
2024-09-15add a "Match invalid-user" predicate to sshd_config Match options.Damien Miller
This allows writing Match conditions that trigger for invalid username. E.g. PerSourcePenalties refuseconnection:90s Match invalid-user RefuseConnection yes Will effectively penalise bots try to guess passwords for bogus accounts, at the cost of implicitly revealing which accounts are invalid. feedback markus@
2024-09-15Add a "refuseconnection" penalty class to sshd_configDamien Miller
PerSourcePenalties This allows penalising connection sources that have had connections dropped by the RefuseConnection option. ok markus@
2024-09-15Add a sshd_config "RefuseConnection" optionDamien Miller
If set, this will terminate the connection at the first authentication request (this is the earliest we can evaluate sshd_config Match blocks) ok markus@
2024-09-15switch sshd_config Match processing to the argv tokeniser too;Damien Miller
ok markus@
2024-09-15switch "Match" directive processing over to the argv stringDamien Miller
tokeniser, making it possible to use shell-like quoting in Match directives, particularly "Match exec". ok markus@
2024-09-15include pathname in some of the ssh-keygen passphrase prompts. HelpsDamien Miller
the user know what's going on when ssh-keygen is invoked via other tools. Requested in GHPR503
2024-09-15Do not apply authorized_keys options when signature verificationDamien Miller
fails. Prevents restrictive key options being incorrectly applied to subsequent keys in authorized_keys. bz3733, ok markus@
2024-09-12Relax absolute path requirement back to what it was prior to OpenSSH 9.8,Damien Miller
which incorrectly required that sshd was started with an absolute path in inetd mode. bz3717, patch from Colin Wilson
2024-09-09document the mlkem768x25519-sha256 key exchange algorithmChristian Weisgerber
2024-09-09pull post-quantum ML-KEM/x25519 key exchange out from compile-timeDamien Miller
flag now than an IANA codepoint has been assigned for the algorithm. Add mlkem768x25519-sha256 in 2nd KexAlgorithms preference slot. ok markus@
2024-09-06make parsing user@host consistently look for the last '@' in theDamien Miller
string rather than the first. This makes it possible to use usernames that contain '@' characters. Prompted by Max Zettlmeißl; feedback/ok millert@
2024-09-04be more strict in parsing key type names. Only allow shortnames (e.gDamien Miller
"rsa") in user-interface code and require full SSH protocol names (e.g. "ssh-rsa") everywhere else. Prompted by bz3725; ok markus@
2024-09-04fix RCSID in outputDamien Miller