Nicholas S. Husin
0f039f3a4a
ssh: sanitize various error messages
...
Similar to CL 780180, sanitize other error messages that are controlled
by the remote peer, to avoid potential injection of control characters.
Also remove sanitizeString usage as it is not strictly needed to escape
error messages safely, and for consistency with how we sanitize other
error messages throughout the codebase.
BannerDisplayStderr is left unsanitized for now, as it is one instance
where we might actually want control characters for valid reasons (see
golang/go#80302 ).
Updates golang/go#80302
Fixes golang/go#80301
Change-Id: Ie40f4ac2f76afed740dceb548a4b0fa96a6a6964
Reviewed-on: https://go-review.googlesource.com/c/crypto/+/798420
Auto-Submit: Nicholas Husin <nsh@golang.org >
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com >
Reviewed-by: Michael Pratt <mpratt@google.com >
Reviewed-by: Nicola Murino <nicola.murino@gmail.com >
Reviewed-by: Nicholas Husin <husin@google.com >
2026-07-13 12:23:17 -07:00
Neal Patel
6435c37ab6
ssh: sanitize client disconnect messages
...
A malicious peer can send control characters
and escape sequences in SSH_MSG_DISCONNECT;
strip these characters and %q escape it.
Change-Id: I266f78630a7a816a79ce4dda568ce57d7c3f6fb0
Reviewed-on: https://go-review.googlesource.com/c/crypto/+/780180
Commit-Queue: Nicola Murino <nicola.murino@gmail.com >
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com >
Reviewed-by: Neal Patel <nealpatel@google.com >
Reviewed-by: Nicola Murino <nicola.murino@gmail.com >
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com >
Auto-Submit: Nicola Murino <nicola.murino@gmail.com >
2026-06-29 10:23:17 -07:00
cuishuang
0b7aa0cfb0
ssh: use reflect.TypeFor instead of reflect.TypeOf
...
For golang/go#60088 .
Change-Id: I58994c469a2793516214ab1a0072fb6137afc46e
Reviewed-on: https://go-review.googlesource.com/c/crypto/+/709156
Auto-Submit: Sean Liao <sean@liao.dev >
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com >
Reviewed-by: Nicola Murino <nicola.murino@gmail.com >
Reviewed-by: Michael Pratt <mpratt@google.com >
Reviewed-by: Carlos Amedee <carlos@golang.org >
Reviewed-by: Sean Liao <sean@liao.dev >
2025-10-09 11:10:29 -07:00
Ilia Mirkin
24852b6b3f
ssh: add decode support for banners
...
These banners can be printed when enabling debugHandshake, add decode
support so that they're not printed as unknown messages.
Change-Id: Ic8d56079d8225c35aac843accdbc80a642dd6249
Reviewed-on: https://go-review.googlesource.com/c/crypto/+/650635
Reviewed-by: Junyang Shao <shaojunyang@google.com >
Reviewed-by: Nicola Murino <nicola.murino@gmail.com >
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com >
Auto-Submit: Nicola Murino <nicola.murino@gmail.com >
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com >
2025-03-03 11:16:37 -08:00
Peter Moody
e84a34b1ee
x/crypto/ssh: support more keytypes in the agent.
...
This allows the golang ssh-agent to support the full suite of keys
the library accepts.
Currently constraints are ignored.
Change-Id: I7d48c78e9a355582eb54788571a483a736c3d3ef
Reviewed-on: https://go-review.googlesource.com/21536
Reviewed-by: Han-Wen Nienhuys <hanwen@google.com >
Run-TryBot: Han-Wen Nienhuys <hanwen@google.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
2016-04-25 17:01:51 +00:00
Michael Gehring
cc04154d65
x/crypto/ssh: fix bounds check in parseString
...
Fixes #11348
Change-Id: If083744343256a2a53eb813411ba0c9a359d6dbd
Reviewed-on: https://go-review.googlesource.com/11332
Reviewed-by: Adam Langley <agl@golang.org >
2015-06-27 22:03:05 +00:00
Han-Wen Nienhuys
dac81c328b
go.crypto/ssh: fix messages_test.go on 32-bit platforms.
...
LGTM=dave
R=agl, dave
CC=golang-codereviews
https://golang.org/cl/88060043
2014-04-15 09:09:03 -07:00
Adam Langley
fa50e7408b
go.crypto/ssh: import gosshnew.
...
See https://groups.google.com/d/msg/Golang-nuts/AoVxQ4bB5XQ/i8kpMxdbVlEJ
R=hanwen
CC=golang-codereviews
https://golang.org/cl/86190043
2014-04-09 13:57:52 -07:00
Dave Cheney
0b167df1b4
go.crypto/ssh: additional coverage of message unmarshaling
...
R=golang-dev, hanwen
CC=golang-dev
https://golang.org/cl/14767043
2013-10-23 08:45:49 +11:00
Han-Wen Nienhuys
49702c17cc
go.crypto/ssh: (un)marshal data without type byte prefix.
...
This helps manipulating data in global and channel request
payloads.
R=agl, dave, jpsugar
CC=golang-dev
https://golang.org/cl/14438068
2013-10-15 16:18:32 +11:00
Dave Cheney
36d74d6fed
go.crypto/ssh: fix panic unmarshalling channelOpenFailureMsg
...
I introduced this problem in change set 33 when I redefined
RejectionReason from a uint32 to an int. I have added a test
to verify the message can be marshaled correctly.
This was a bit hard to track down as the recover in clientConn
mainLoop would catch the panic and shutdown the connection. We
probably shouldn't be using panic inside marshal/unmarshal, at
least not without a way to let the user know why the recover
logic tripped.
R=agl, kardianos, gustav.paul
CC=golang-dev
https://golang.org/cl/6210063
2012-05-18 09:11:31 +10:00
Dave Cheney
73a4e109cb
go.crypto/ssh: add benchmarks for marshal and unmarshal
...
R=agl
CC=golang-dev
https://golang.org/cl/5730045
2012-03-04 14:01:23 -08:00
Russ Cox
470549d502
go.crypto: initial code
...
Manual edits to README.
Moved from main Go repository, deleted Makefiles, ran gofix -r go1rename.
Tested with: go test code.google.com/p/go.crypto/...
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5564059
2012-01-25 15:31:12 -05:00