Commit Graph

12195 Commits

Author SHA1 Message Date
dtucker@openbsd.org
caec6da1a5
upstream: ssh-agent doesn't actually take -v,
so the recently-added ones will result in the test not cleaning up
after itself.  Patch from cjwatson at debian.org vi bz#3536.

OpenBSD-Regress-ID: 1fc8283568f5bf2f918517c2c1e778072cf61b1a
2023-02-09 21:08:16 +11:00
dtucker@openbsd.org
3c379c9a84
upstream: Ensure that there is a terminating newline when adding a new
entry to known_hosts.  bz#3529, with git+openssh at limpsquid.nl, ok deraadt@
markus@

OpenBSD-Commit-ID: fa8d90698da1886570512b96f051e266eac105e0
2023-02-09 21:07:59 +11:00
Darren Tucker
95b6bbd255
Replace 9.1 with 9.2 on CI status page. 2023-02-07 08:46:06 +11:00
Damien Miller
195313dfe1
harden Linux seccomp sandbox
Linux mmap(2) and madvise(2) syscalls support quite a number of funky
flags that we don't expect that sshd/libc will ever need. We can
exclude this kernel attack surface by filtering the mmap(2) flags
and the madvise(2) advice arguments.

Similarly, the sandboxed process in sshd is a single-threaded program
that does not use shared memory for synchronisation or communication.
Therefore, there should be no reason for the advanced priority
inheritance futex(2) operations to be necessary. These can also be
excluded.

Motivated by Jann Horn pointing out that there have been kernel bugs
in nearby Linux kernel code, e.g. CVE-2020-29368, CVE-2020-29374 and
CVE-2022-42703.

Feedback Jann Horn, ok dtucker@
2023-02-06 13:26:42 +11:00
Damien Miller
6dfb65de94
crank versions in RPM specs 2023-02-02 23:21:54 +11:00
Damien Miller
d07cfb11a0
update version in README 2023-02-02 23:21:45 +11:00
Damien Miller
9fe207565b
adapt compat_kex_proposal() test to portable 2023-02-02 23:17:49 +11:00
djm@openbsd.org
903c556b93
upstream: test compat_kex_proposal(); by dtucker@
OpenBSD-Regress-ID: 0e404ee264db546f9fdbf53390689ab5f8d38bf2
2023-02-02 23:16:40 +11:00
dtucker@openbsd.org
405fba7196
upstream: Check if we can copy sshd or need to use sudo to do so
during reexec test. Skip test if neither can work.  Patch from anton@, tweaks
from me.

OpenBSD-Regress-ID: 731b96ae74d02d5744e1f1a8e51d09877ffd9b6d
2023-02-02 23:15:47 +11:00
djm@openbsd.org
b2a2a8f69f
upstream: openssh-9.2
OpenBSD-Commit-ID: f7389f32413c74d6e2055f05cf65e7082de03923
2023-02-02 23:14:16 +11:00
djm@openbsd.org
12da782333
upstream: fix double-free caused by compat_kex_proposal(); bz3522
by dtucker@, ok me

OpenBSD-Commit-ID: 2bfc37cd2d41f67dad64c17a64cf2cd3806a5c80
2023-02-02 23:14:09 +11:00
Darren Tucker
79efd95ab5
Skip connection-timeout test on minix3.
Minix 3's Unix domain sockets don't seem to work the way we expect, so
skip connection-timeout test on that platform.  While there, group
together all similarly skipped tests and explicitly comment.
2023-02-01 17:19:33 +11:00
Damien Miller
6b508c4e03
fix libfido2 detection without pkg-config
Place libfido2 before additional libraries (that it may depend upon)
and not after. bz3530 from James Zhang; ok dtucker@
2023-02-01 12:14:22 +11:00
deraadt@openbsd.org
358e300fed
upstream: delete useless dependency
OpenBSD-Commit-ID: e1dc11143f83082e3154d6094f9136d0dc2637ad
2023-02-01 09:20:18 +11:00
deraadt@openbsd.org
a4cb9be1b0
upstream: Create and install sshd random relink kit.
../Makefile.inc and Makfile are concatenated for reuse, which hopefully won't
be too fragile, we'll see if we need a different approach. The resulting sshd
binary is tested with the new sshd -V option before installation.  As the
binary layout is now semi-unknown (meaning relative, fixed, and gadget
offsets are not precisely known), change the filesystem permissions to 511 to
prevent what I call "logged in BROP". I have ideas for improving this further
but this is a first step ok djm

OpenBSD-Commit-ID: 1e0a2692b7e20b126dda60bf04999d1d30d959d8
2023-02-01 09:20:18 +11:00
jmc@openbsd.org
bc7de6f91a
upstream: tweak previous; ok djm
OpenBSD-Commit-ID: df71ce4180c58202dfdc1d92626cfe900b91b7c3
2023-02-01 09:20:17 +11:00
Darren Tucker
a20b7e9997
Skip connection-timeout test under Valgrind.
Valgrind slows things down so much that the timeout test fails.  Skip
this test until we figure out if we can make it work.
2023-01-31 19:35:44 +11:00
Darren Tucker
c3ffb54b4f
Skip connection-timeout when missing FD passing.
This tests uses multiplexing which uses file descriptor passing, so
skip it if we don't have that.  Fixes test failures on Cygwin.
2023-01-25 21:58:40 +11:00
djm@openbsd.org
35253af01d
upstream: when restoring non-blocking mode to stdio fds, restore
exactly the flags that ssh started with and don't just clobber them with
zero, as this could also remove the append flag from the set;

bz3523; ok dtucker@

OpenBSD-Commit-ID: 1336b03e881db7564a4b66014eb24c5230e9a0c0
2023-01-18 13:21:00 +11:00
millert@openbsd.org
7d17ea151c
upstream: Add a -V (version) option to sshd like the ssh client
has. OK markus@ deraadt@

OpenBSD-Commit-ID: abe990ec3e636fb040132aab8cbbede98f0c413e
2023-01-18 13:21:00 +11:00
millert@openbsd.org
62360feb7f
upstream: For "ssh -V" always exit 0, there is no need to check opt
again. This was missed when the fallthrough in the switch case above it was
removed.  OK deraadt@

OpenBSD-Commit-ID: 5583e5d8f6d62a8a4215cfa95a69932f344c8120
2023-01-18 13:20:41 +11:00
djm@openbsd.org
12492c0abf
upstream: also check that an active session inhibits
UnusedConnectionTimeout idea markus@

OpenBSD-Regress-ID: 55c0fb61f3bf9e092b0a53f9041d3d2012f14003
2023-01-17 21:16:06 +11:00
djm@openbsd.org
cef2593c33
upstream: regression test for UnusedConnectionTimeout
OpenBSD-Regress-ID: 7f29001374a68e71e5e078f69e4520cf4bcca084
2023-01-17 21:09:20 +11:00
djm@openbsd.org
aff9493a89
upstream: unbreak test: cannot access shell positional parameters
past $9 without wrapping the position in braces (i.e. need ${10}, etc.)

OpenBSD-Regress-ID: 3750ec98d5d409ce6a93406fedde6f220d2ea2ac
2023-01-17 21:07:09 +11:00
djm@openbsd.org
0293c19807
upstream: Add a sshd_config UnusedConnectionTimeout option to terminate
client connections that have no open channels for some length of time. This
complements the recently-added ChannelTimeout option that terminates inactive
channels after a timeout.

ok markus@

OpenBSD-Commit-ID: ca983be74c0350364c11f8ba3bd692f6f24f5da9
2023-01-17 20:50:41 +11:00
djm@openbsd.org
8ec2e31238
upstream: adapt to ed25519 changes in src/usr.bin/ssh
OpenBSD-Regress-ID: 4b3e7ba7ee486ae8a0b4790f8112eded2bb7dcd5
2023-01-16 10:57:42 +11:00
djm@openbsd.org
9fbbfeca1c
upstream: update OpenSSH's Ed25519 code to the last version of SUPERCOP
(20221122) and change the import approach to the same one we use for
Streamlined NTRUPrime: use a shell script to extract the bits we need from
SUPERCOP, make some minor adjustments and squish them all into a single file.

ok tb@ tobhe@

OpenBSD-Commit-ID: 1bc0fd624cb6af440905b8ba74ac7c03311b8e3b
2023-01-16 10:57:41 +11:00
Darren Tucker
6283f4bd83
Allow writev is seccomp sandbox.
This seems to be used by recent glibcs at least in some configurations.
From bz#3512, ok djm@
2023-01-14 22:02:44 +11:00
dtucker@openbsd.org
923c3f437f
upstream: Shell syntax fix. From ren mingshuai vi github PR#369.
OpenBSD-Regress-ID: 6696b2eeefe128099fc3d7ea9f23252cc35156f9
2023-01-14 21:38:13 +11:00
dtucker@openbsd.org
4d87a00f70
upstream: Instead of skipping the all-tokens test if we don't have
OpenSSL (since we use it to compute the hash), put the hash at the end and
just omit it if we don't have it.  Prompted by bz#3521.

OpenBSD-Regress-ID: c79ecba64250ed3b6417294b6c965e6b12ca5eea
2023-01-14 21:07:36 +11:00
jmc@openbsd.org
b05406d6f9
upstream: fix double phrase in previous;
OpenBSD-Commit-ID: 671e6c8dc5e9230518b2bbfa143daaa88adc66c2
2023-01-14 12:59:51 +11:00
dtucker@openbsd.org
40564812b6
upstream: Document "UserKnownHostsFile none". ok djm@
OpenBSD-Commit-ID: f695742d39e34ecdcc3c861c3739a84648a4bce5
2023-01-14 12:59:47 +11:00
Darren Tucker
d03e245e03
Retry package installation 3 times.
When setting up the CI environment, retry package installation 3 times
before going up.  Should help prevent spurious failures during
infrastructure issues.
2023-01-13 23:05:08 +11:00
dtucker@openbsd.org
625f6bc398
upstream: Move scp path setting to a helper function. The previous
commit to add scp to the test sshd's path causes the t-envpass test to fail
when the test scp is given using a fully qualified path.  Put this in a
helper function and only call it from the scp tests.

OpenBSD-Regress-ID: 7533dc1c4265c1de716abb062957994195b36df4
2023-01-13 16:02:49 +11:00
dtucker@openbsd.org
6e6f886470
upstream: Add scp's path to test sshd's PATH.
If the scp we're testing is fully qualified (eg it's not in the system
PATH) then add its path to the under-test sshd's PATH so we can find
it. Prompted by bz#3518.

OpenBSD-Regress-ID: 7df4f5a0be3aa135495b7e5a6719d3cbc26cc4c0
2023-01-13 15:52:17 +11:00
Darren Tucker
8a5e99a70f
Remove skipping test when scp not in path.
An upcoming change renders this obsolete by adding scp's path to the
test sshd's PATH, and removing this first will make the subsequent sync
easier.
2023-01-13 15:49:48 +11:00
dtucker@openbsd.org
41f36dd896
upstream: Add a "Host" line to the output of ssh -G showing the
original host arg. Inspired by patch from vincent at bernat.ch via bz#3343,
ok djm@

OpenBSD-Commit-ID: 59c0f60a222113a44d0650cd394376e3beecc883
2023-01-13 14:09:32 +11:00
djm@openbsd.org
f673b49f3b
upstream: avoid printf("%s", NULL) if using ssh
-oUserKnownHostsFile=none and a hostkey in one of the system known hosts file
changes; ok dtucker@

OpenBSD-Commit-ID: 7ca87614bfc6da491315536a7f2301434a9fe614
2023-01-13 14:06:37 +11:00
djm@openbsd.org
93fc7c5765
upstream: clamp the minimum buffer lengths and number of inflight
requests too

OpenBSD-Commit-ID: c4965f62fa0ba850940fd66ae3f60cf516bbcd56
2023-01-13 14:06:33 +11:00
djm@openbsd.org
48bf234322
upstream: ignore bogus upload/download buffer lengths in the limits
extension

OpenBSD-Commit-ID: c5b023e0954693ba9a5376e4280c739b5db575f8
2023-01-13 14:06:20 +11:00
djm@openbsd.org
36b00d3183
upstream: remove whitespace at EOL from code extracted from SUPERCOP
OpenBSD-Commit-ID: 1ec524ff2fbb9387d731601437c82008f35a60f4
2023-01-11 13:17:03 +11:00
djm@openbsd.org
d888de06c5
upstream: rewrite this test to use a multiplexed ssh session so we can
control its lifecycle without risk of race conditions; fixes some of the
Github integration tests for openssh-portable

OpenBSD-Regress-ID: 5451cad59ba0d43ae9eeda48ec80f54405fee969
2023-01-11 11:54:13 +11:00
Damien Miller
4bcc737a35
remove buffer len workaround for NetBSD 4.x
Switching to from pipes to a socketpair for communicating with the
ssh process avoids the (kernel bug?) problem.
2023-01-11 11:45:17 +11:00
Damien Miller
f5154d2aac
add back use of pipes in scp.c under USE_PIPES
This matches sftp.c which prefers socketpair but uses pipes on
some older platforms.
2023-01-11 11:44:19 +11:00
millert@openbsd.org
eec737b59c
upstream: Switch scp from using pipes to a socketpair for
communication with it's ssh sub-processes.  We no longer need to reserve two
descriptors to ensure that we don't end up using fd 0-2 unexpectedly, that is
handled by sanitise_stdfd() in main(). Based on an original diff from djm@.
OK deraadt@ djm@

OpenBSD-Commit-ID: b80c372faac462471e955ddeab9480d668a2e48d
2023-01-11 11:43:17 +11:00
jmc@openbsd.org
d213d126a4
upstream: tweak previous; ok djm
OpenBSD-Commit-ID: 229c493452766d70a78b0f02f6ff9894f9028858
2023-01-11 11:43:17 +11:00
Damien Miller
4a5590a5ee
try to improve logging for dynamic-forward test
previously the logs from the ssh used to exercise the forwarding
channel would clobber the logs from the ssh actually doing the
forwarding
2023-01-09 16:33:56 +11:00
Darren Tucker
715bc25dcf
Skip dynamic-forward test on minix3.
This test relies on loopback addresses which minix does not have.
Previously the test would not run at all since it also doesn't have
netcat, but now we use our own netcat it tries and fails.
2023-01-08 18:13:03 +11:00
Damien Miller
dd1249bd5c
don't test IPv6 addresses if platform lacks support 2023-01-08 12:11:25 +11:00
dtucker@openbsd.org
d77fc611a6
upstream: When OpenSSL is not available, skip parts of percent test
that require it. Based on github pr#368 from ren mingshuai.

OpenBSD-Regress-ID: 49a375b2cf61ccb95b52e75e2e025cd10988ebb2
2023-01-08 12:11:03 +11:00