Commit Graph

13106 Commits

Author SHA1 Message Date
Tess Gauthier 57149fe90d
revert Win32 change (#732) 2024-08-01 14:09:20 -04:00
Tess Gauthier 43c6e39474
remove getrnd() to sync with upstream (#735) 2024-08-01 14:04:37 -04:00
LexaPrime e829ad267c
Fix _rs_init split in half during merge (#734) 2024-07-22 16:27:38 -04:00
Andrew 661803c9ec
Allow SID strings in sshd_config (#724)
* SIDs in sshd_config

* add #include <Sddl.h> to servconf.c

---------

Co-authored-by: Tess Gauthier <tessgauthier@microsoft.com>
2024-05-07 16:15:28 -04:00
Tess Gauthier afe9007141
remove HAVE_FREEZERO from preprocessor definitions (#730) 2024-05-07 11:52:20 -04:00
Steve Lee b89ee6aa37
fix how build script finds repo root (#729)
Co-authored-by: Steve Lee (POWERSHELL HE/HIM) (from Dev Box) <slee@ntdev.microsoft.com>
2024-04-29 11:43:53 -04:00
Tess Gauthier 3af5ef810d
remove manifest files from msi (#726) 2024-04-22 14:27:03 -04:00
Tess Gauthier 607df771b2
Delete contrib/win32/openssh/DockerFile (#722) 2024-03-18 13:58:04 -04:00
Marc-André Moreau 5622b51825
fix freezero duplicate symbol (#718)
Co-authored-by: Marc-André Moreau <mamoreau@devolutions.net>
2024-02-12 18:26:32 -05:00
Marc-André Moreau 727d4dbac0
fix resource.h file encoding (#716)
Co-authored-by: Marc-André Moreau <mamoreau@devolutions.net>
2024-02-12 18:18:08 -05:00
Tess Gauthier 6ad8fc3b05
Merge pull request #712 from tgauth/sync-with-upstream
Sync with upstream 9.6
2024-01-22 12:40:26 -05:00
tgauth@bu.edu b39454951f fix failing bash test 2024-01-08 16:00:54 -05:00
Tess Gauthier e98172c2eb update ssh-add where imaginary i GNU syntax is used 2023-12-19 20:46:01 -05:00
Tess Gauthier aeb3bbe81d resolve merge conflict 2023-12-19 20:33:17 -05:00
Tess Gauthier 59aba65cf2
add double-quotes around service paths for SSHD and SSH-Agent (#710) 2023-12-18 12:04:57 -05:00
Tess Gauthier e7010dc405
cherry-pick of kex-strict extension from upstream (#709) 2023-12-18 12:04:18 -05:00
Damien Miller 8241b9c052
crank versions 2023-12-19 01:59:50 +11:00
Damien Miller 2f2c65cb5f
depend 2023-12-19 01:59:06 +11:00
djm@openbsd.org e48cdee8e1
upstream: regress test for agent PKCS#11-backed certificates
OpenBSD-Regress-ID: 38f681777cb944a8cc3bf9d0ad62959a16764df9
2023-12-19 01:57:37 +11:00
djm@openbsd.org 2f512f862d
upstream: regress test for constrained PKCS#11 keys
OpenBSD-Regress-ID: b2f26ae95d609d12257b43aef7cd7714c82618ff
2023-12-19 01:57:16 +11:00
djm@openbsd.org cdddd66412
upstream: openssh-9.6
OpenBSD-Commit-ID: 21759837cf0e0092d9a2079f8fb562071c11016b
2023-12-19 01:53:47 +11:00
djm@openbsd.org 6d51feab15
upstream: ssh-agent: record failed session-bind attempts
Record failed attempts to session-bind a connection and refuse signing
operations on that connection henceforth.

Prevents a future situation where we add a new hostkey type that is not
recognised by an older ssh-agent, that consequently causes session-bind
to fail (this situation is only likely to arise when people mix ssh(1)
and ssh-agent(1) of different versions on the same host). Previously,
after such a failure the agent socket would be considered unbound and
not subject to restriction.

Spotted by Jann Horn

OpenBSD-Commit-ID: b0fdd023e920aa4831413f640de4c5307b53552e
2023-12-19 01:53:40 +11:00
djm@openbsd.org 7ef3787c84
upstream: ban user/hostnames with most shell metacharacters
This makes ssh(1) refuse user or host names provided on the
commandline that contain most shell metacharacters.

Some programs that invoke ssh(1) using untrusted data do not filter
metacharacters in arguments they supply. This could create
interactions with user-specified ProxyCommand and other directives
that allow shell injection attacks to occur.

It's a mistake to invoke ssh(1) with arbitrary untrusted arguments,
but getting this stuff right can be tricky, so this should prevent
most obvious ways of creating risky situations. It however is not
and cannot be perfect: ssh(1) has no practical way of interpreting
what shell quoting rules are in use and how they interact with the
user's specified ProxyCommand.

To allow configurations that use strange user or hostnames to
continue to work, this strictness is applied only to names coming
from the commandline. Names specified using User or Hostname
directives in ssh_config(5) are not affected.

feedback/ok millert@ markus@ dtucker@ deraadt@

OpenBSD-Commit-ID: 3b487348b5964f3e77b6b4d3da4c3b439e94b2d9
2023-12-19 01:53:40 +11:00
djm@openbsd.org 0cb50eefdd
upstream: stricter handling of channel window limits
This makes ssh/sshd more strict in handling non-compliant peers that
send more data than the advertised channel window allows. Previously
the additional data would be silently discarded. This change will
cause ssh/sshd to terminate the connection if the channel window is
exceeded by more than a small grace allowance.

ok markus@

OpenBSD-Commit-ID: 811e21b41831eba3dd7f67b3d409a438f20d3037
2023-12-19 01:52:55 +11:00
djm@openbsd.org 4448a2938a
upstream: Make it possible to load certs from PKCS#11 tokens
Adds a protocol extension to allow grafting certificates supplied by
ssh-add to keys loaded from PKCS#11 tokens in the agent.

feedback/ok markus@

OpenBSD-Commit-ID: bb5433cd28ede2bc910996eb3c0b53e20f86037f
2023-12-19 01:52:55 +11:00
djm@openbsd.org 881d9c6af9
upstream: apply destination constraints to all p11 keys
Previously applied only to the first key returned from each token.

ok markus@

OpenBSD-Commit-ID: 36df3afb8eb94eec6b2541f063d0d164ef8b488d
2023-12-19 01:51:46 +11:00
djm@openbsd.org a7ed931cae
upstream: add "ext-info-in-auth@openssh.com" extension
This adds another transport protocol extension to allow a sshd to send
SSH2_MSG_EXT_INFO during user authentication, after the server has
learned the username that is being logged in to.

This lets sshd to update the acceptable signature algoritms for public
key authentication, and allows these to be varied via sshd_config(5)
"Match" directives, which are evaluated after the server learns the
username being authenticated.

Full details in the PROTOCOL file

OpenBSD-Commit-ID: 1de7da7f2b6c32a46043d75fcd49b0cbb7db7779
2023-12-19 01:51:46 +11:00
djm@openbsd.org 1edb00c58f
upstream: implement "strict key exchange" in ssh and sshd
This adds a protocol extension to improve the integrity of the SSH
transport protocol, particular in and around the initial key exchange
(KEX) phase.

Full details of the extension are in the PROTOCOL file.

with markus@

OpenBSD-Commit-ID: 2a66ac962f0a630d7945fee54004ed9e9c439f14
2023-12-19 01:51:11 +11:00
Damien Miller 59d691b886
better detection of broken -fzero-call-used-regs
Use OSSH_CHECK_CFLAG_LINK() for detection of these flags and extend
test program to exercise varargs, which seems to catch more stuff.

ok dtucker@
2023-12-18 14:49:11 +11:00
Tess Gauthier 58150f0983
add codeql suppression justification for restart (#708) 2023-12-13 11:27:41 -05:00
djm@openbsd.org aa7b217085
upstream: when invoking KnownHostsCommand to determine the order of
host key algorithms to request, ensure that the hostname passed to the
command is decorated with the port number for ports other than 22.

This matches the behaviour of KnownHostsCommand when invoked to look
up the actual host key.

bz3643, ok dtucker@

OpenBSD-Commit-ID: 5cfabc0b7c6c7ab473666df314f377b1f15420b1
2023-12-13 14:33:50 +11:00
markus@openbsd.org 4086bd6652
upstream: prevent leak in sshsig_match_principals; ok djm@
OpenBSD-Commit-ID: 594f61ad4819ff5c72dfe99ba666a17f0e1030ae
2023-12-13 14:33:50 +11:00
Tess Gauthier c1e15ab968
Crank versions (#707)
* bump-dependency-versions

* Update version.rc
2023-12-12 11:11:35 -05:00
Tess Gauthier 2745347ae0
Merge pull request #703 from tgauth/merge-9.5
Merge 9.5
2023-12-07 14:41:39 -05:00
Tess Gauthier 9f9fd0d09d
add check for pipes to do_upload (#704)
* add check for pipes to do_upload

* add parentheses

* add pester tests to sftp

* use pester 3.4 assertions

* add debug

* temp build in debug

* temp build in debug

* revert building CI in debug

* remove pester test for changes; will test manually
2023-12-07 14:37:36 -05:00
Tess Gauthier 4cd3519fbf
Add telemetry event (#702)
* test sending new event from sshd after kex exchange

* rename telemetry event for clarity

* add comments

* remove else since if block has fatal call

* rename method for additional clarity
2023-12-07 14:35:34 -05:00
djm@openbsd.org 19d3ee2f3a
upstream: short circuit debug log processing early if we're not going
to log anything. From Kobe Housen

OpenBSD-Commit-ID: 2bcddd695872a1bef137cfff7823044dcded90ea
2023-12-07 08:09:11 +11:00
tgauth@bu.edu e10443e229 remove debug statements from pester tests 2023-12-01 15:49:33 -05:00
Andrew 4ee8dc6498
Removed sha1-based MACs from default config (#706) 2023-11-30 18:08:35 -08:00
tgauth@bu.edu a6248c1e5b add SCP symlink coverage to Pester Tests in place of Bash tests 2023-11-30 16:50:01 -05:00
tgauth@bu.edu 42e182fd4a fix scp.sh test failures 2023-11-30 15:27:59 -05:00
tgauth@bu.edu 476d7f5a26 add comments to bash test changes 2023-11-29 16:54:45 -05:00
tgauth@bu.edu 702f528bb7 add SCP sym link tests to Windows pester tests 2023-11-29 14:15:23 -05:00
tgauth@bu.edu 00ef5b4d9c remove sym link part of scp bash tests on Windows 2023-11-29 11:41:35 -05:00
Darren Tucker 947affad48
Add tests for OpenSSL 3.2.0 and 3.2 stable branch. 2023-11-27 09:37:28 +11:00
Darren Tucker 747dce3620
Use non-zero arg in compiler test program.
Now that we're running the test program, passing zero to the test function
can cause divide-by-zero exceptions which might show up in logs.
2023-11-25 09:03:38 +11:00
dtucker@openbsd.org 3d44a5c565
upstream: Plug mem leak of msg when processing a quit message.
Coverity CID#427852, ok djm@

OpenBSD-Commit-ID: bf85362addbe2134c3d8c4b80f16601fbff823b7
2023-11-24 12:01:34 +11:00
dtucker@openbsd.org 1d7f9b6e29
upstream: Include existing mux path in debug message.
OpenBSD-Commit-ID: 1c3641be10c2f4fbad2a1b088a441d072e18bf16
2023-11-24 12:01:31 +11:00
Darren Tucker f29934066b
Add an Ubuntu 22.04 test VM.
This is the same version as Github's runners so most of the testing on
it is over there, but having a local VM makes debugging much easier.
2023-11-23 19:41:27 +11:00
Darren Tucker a93284a780
Add gcc-12 -Werror test on Ubuntu 22.04.
Explictly specify gcc-11 on Ubuntu 22.04 (it's the system compiler).
2023-11-23 19:36:22 +11:00