From: kemal <kemalinanc8@gmail.com>
To: 9front@9front.org
Subject: [9front] ssh: use RSA/SHA-256 instead of RSA/SHA-1 as the public key algorithm
Date: Wed, 1 Sep 2021 00:22:20 +0000 [thread overview]
Message-ID: <CABO6shfqKpXSXYArxfWo8SaWsXKvpjSMFMKdc134AxPCqZrvJA@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 380 bytes --]
openssh now disables RSA/SHA-1 by default, so using RSA/SHA-1 will
eventually cause us problems:
https://undeadly.org/cgi?action=article;sid=20210830113413
this patch modifies ssh.c to use RSA/SHA-256 (aka rsa-sha2-256)
instead of RSA/SHA-1 (aka ssh-rsa) as the public key algorithm.
NOTE: public rsa keys and thumbprints are ***NOT AFFECTED***
by this patch.
patch attached.
[-- Attachment #2: patch.txt --]
[-- Type: text/plain, Size: 2924 bytes --]
From: kemal <kemalinanc8@gmail.com>
Date: Wed, 01 Sep 2021 00:13:21 +0000
Subject: [PATCH] ssh: use RSA/SHA-256 instead of RSA/SHA-1 as the public key algorithm
openssh now disables RSA/SHA-1 by default, so using RSA/SHA-1 will
eventually cause us problems:
https://undeadly.org/cgi?action=article;sid=20210830113413
this patch modifies ssh.c to use RSA/SHA-256 (aka rsa-sha2-256)
instead of RSA/SHA-1 (aka ssh-rsa) as the public key algorithm.
NOTE: public rsa keys and thumbprints are ***NOT AFFECTED***
by this patch.
---
diff 6c9462710539bd35ae5c51de27e7894522683bd7 44b3808acb09cbc39f4fdac2f285f7efa62cd0d0
--- a/sys/src/cmd/ssh.c Tue Aug 31 18:53:37 2021
+++ b/sys/src/cmd/ssh.c Wed Sep 1 03:13:21 2021
@@ -373,6 +373,7 @@
}
static char sshrsa[] = "ssh-rsa";
+static char rsasha2_256[] = "rsa-sha2-256";
int
rsapub2ssh(RSApub *rsa, uchar *data, int len)
@@ -402,10 +403,10 @@
rsasig2ssh(RSApub *pub, mpint *S, uchar *data, int len)
{
int l = (mpsignif(pub->n)+7)/8;
- if(4+7+4+l > len)
+ if(4+12+4+l > len)
return -1;
- mptober(S, data+4+7+4, l);
- return pack(data, len, "ss", sshrsa, sizeof(sshrsa)-1, data+4+7+4, l);
+ mptober(S, data+4+12+4, l);
+ return pack(data, len, "ss", rsasha2_256, sizeof(rsasha2_256)-1, data+4+12+4, l);
}
mpint*
@@ -417,7 +418,7 @@
m = mpnew(0);
if(unpack(data, len, "sm", &s, &n, m) < 0
- || n != sizeof(sshrsa)-1 || memcmp(s, sshrsa, n) != 0){
+ || n != sizeof(rsasha2_256)-1 || memcmp(s, rsasha2_256, n) != 0){
mpfree(m);
return nil;
}
@@ -427,10 +428,10 @@
mpint*
pkcs1digest(uchar *data, int len, RSApub *pub)
{
- uchar digest[SHA1dlen], buf[256];
+ uchar digest[SHA2_256dlen], buf[256];
- sha1(data, len, digest, nil);
- return pkcs1padbuf(buf, asn1encodedigest(sha1, digest, buf, sizeof(buf)), pub->n, 1);
+ sha2_256(data, len, digest, nil);
+ return pkcs1padbuf(buf, asn1encodedigest(sha2_256, digest, buf, sizeof(buf)), pub->n, 1);
}
int
@@ -506,7 +507,7 @@
sendpkt("b[ssssssssssbu", MSG_KEXINIT,
cookie, sizeof(cookie),
kexalgs, sizeof(kexalgs)-1,
- sshrsa, sizeof(sshrsa)-1,
+ rsasha2_256, sizeof(rsasha2_256)-1,
cipheralgs, sizeof(cipheralgs)-1,
cipheralgs, sizeof(cipheralgs)-1,
macalgs, sizeof(macalgs)-1,
@@ -744,7 +745,7 @@
service, strlen(service),
authmeth, sizeof(authmeth)-1,
0,
- sshrsa, sizeof(sshrsa)-1,
+ rsasha2_256, sizeof(rsasha2_256)-1,
pk, npk);
Next1: switch(recvpkt()){
default:
@@ -767,7 +768,7 @@
service, strlen(service),
authmeth, sizeof(authmeth)-1,
1,
- sshrsa, sizeof(sshrsa)-1,
+ rsasha2_256, sizeof(rsasha2_256)-1,
pk, npk);
S = pkcs1digest(send.b, n, pub);
n = snprint((char*)send.b, sizeof(send.b), "%B", S);
@@ -788,7 +789,7 @@
service, strlen(service),
authmeth, sizeof(authmeth)-1,
1,
- sshrsa, sizeof(sshrsa)-1,
+ rsasha2_256, sizeof(rsasha2_256)-1,
pk, npk,
sig, nsig);
Next2: switch(recvpkt()){
next reply other threads:[~2021-09-01 1:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-01 0:22 kemal [this message]
2021-09-02 13:33 ` [9front] " kemal
2021-09-02 15:49 ` cinap_lenrek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CABO6shfqKpXSXYArxfWo8SaWsXKvpjSMFMKdc134AxPCqZrvJA@mail.gmail.com \
--to=kemalinanc8@gmail.com \
--cc=9front@9front.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).