Skip to content

Commit ab94957

Browse files
committed
Merging 9.3p2 to deal wth CVE-2023-38408. No other changes
aside from a version bump
2 parents 0239f51 + 9795c40 commit ab94957

File tree

7 files changed

+47
-12
lines changed

7 files changed

+47
-12
lines changed

README

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
See https://www.openssh.com/releasenotes.html#9.3p1 for the release
1+
See https://www.openssh.com/releasenotes.html#9.3p2 for the release
22
notes.
33

44
Please read https://www.openssh.com/report.html for bug reporting

contrib/redhat/openssh.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
%global ver 9.3p1
1+
%global ver 9.3p2
22
%global rel 1%{?dist}
33

44
# OpenSSH privilege separation requires a user & group ID

contrib/suse/openssh.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation
1515
Name: openssh
16-
Version: 9.3p1
16+
Version: 9.3p2
1717
URL: https://www.openssh.com/
1818
Release: 1
1919
Source0: openssh-%{version}.tar.gz

hpnssh-agent.1

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,27 @@ environment variable).
111111
.It Fl O Ar option
112112
Specify an option when starting
113113
.Nm .
114-
Currently only one option is supported:
114+
Currently two options are supported:
115+
.Cm allow-remote-pkcs11
116+
and
115117
.Cm no-restrict-websafe .
116-
This instructs
118+
.Pp
119+
The
120+
.Cm allow-remote-pkcs11
121+
option allows clients of a forwarded
122+
.Nm
123+
to load PKCS#11 or FIDO provider libraries.
124+
By default only local clients may perform this operation.
125+
Note that signalling that a
126+
.Nm
127+
client remote is performed by
128+
.Xr ssh 1 ,
129+
and use of other tools to forward access to the agent socket may circumvent
130+
this restriction.
131+
.Pp
132+
The
133+
.Cm no-restrict-websafe ,
134+
instructs
117135
.Nm
118136
to permit signatures using FIDO keys that might be web authentication
119137
requests.

ssh-agent.c

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,12 @@ char socket_dir[PATH_MAX];
169169
/* Pattern-list of allowed PKCS#11/Security key paths */
170170
static char *allowed_providers;
171171

172+
/*
173+
* Allows PKCS11 providers or SK keys that use non-internal providers to
174+
* be added over a remote connection (identified by [email protected]).
175+
*/
176+
static int remote_add_provider;
177+
172178
/* locking */
173179
#define LOCK_SIZE 32
174180
#define LOCK_SALT_SIZE 16
@@ -1228,6 +1234,12 @@ process_add_identity(SocketEntry *e)
12281234
if (strcasecmp(sk_provider, "internal") == 0) {
12291235
debug_f("internal provider");
12301236
} else {
1237+
if (e->nsession_ids != 0 && !remote_add_provider) {
1238+
verbose("failed add of SK provider \"%.100s\": "
1239+
"remote addition of providers is disabled",
1240+
sk_provider);
1241+
goto out;
1242+
}
12311243
if (realpath(sk_provider, canonical_provider) == NULL) {
12321244
verbose("failed provider \"%.100s\": "
12331245
"realpath: %s", sk_provider,
@@ -1391,6 +1403,11 @@ process_add_smartcard_key(SocketEntry *e)
13911403
error_f("failed to parse constraints");
13921404
goto send;
13931405
}
1406+
if (e->nsession_ids != 0 && !remote_add_provider) {
1407+
verbose("failed PKCS#11 add of \"%.100s\": remote addition of "
1408+
"providers is disabled", provider);
1409+
goto send;
1410+
}
13941411
if (realpath(provider, canonical_provider) == NULL) {
13951412
verbose("failed PKCS#11 add of \"%.100s\": realpath: %s",
13961413
provider, strerror(errno));
@@ -2050,7 +2067,9 @@ main(int ac, char **av)
20502067
break;
20512068
case 'O':
20522069
if (strcmp(optarg, "no-restrict-websafe") == 0)
2053-
restrict_websafe = 0;
2070+
restrict_websafe = 0;
2071+
else if (strcmp(optarg, "allow-remote-pkcs11") == 0)
2072+
remote_add_provider = 1;
20542073
else
20552074
fatal("Unknown -O option");
20562075
break;

ssh-pkcs11.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1537,10 +1537,8 @@ pkcs11_register_provider(char *provider_id, char *pin,
15371537
error("dlopen %s failed: %s", provider_id, dlerror());
15381538
goto fail;
15391539
}
1540-
if ((getfunctionlist = dlsym(handle, "C_GetFunctionList")) == NULL) {
1541-
error("dlsym(C_GetFunctionList) failed: %s", dlerror());
1542-
goto fail;
1543-
}
1540+
if ((getfunctionlist = dlsym(handle, "C_GetFunctionList")) == NULL)
1541+
fatal("dlsym(C_GetFunctionList) failed: %s", dlerror());
15441542
p = xcalloc(1, sizeof(*p));
15451543
p->name = xstrdup(provider_id);
15461544
p->handle = handle;

version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
#define SSH_VERSION "OpenSSH_9.3"
44

5-
#define SSH_PORTABLE "p1"
6-
#define SSH_HPN "-hpn17v13"
5+
#define SSH_PORTABLE "p2"
6+
#define SSH_HPN "-hpn17v14"
77
#define SSH_RELEASE SSH_VERSION SSH_PORTABLE SSH_HPN

0 commit comments

Comments
 (0)