ot Valeri Dachew(12-06-2000)

Date: Fri, 9 Jun 2000 17:06:30 +0200
From: Markus Friedl markus.friedl@INFORMATIK.UNI-ERLANGEN.DE
Subject: OpenSSH's UseLogin option allows remote access with root privilege.

Optsiiata na OpenSSH UseLogin pozvoliava na otdalechen potrebitel dostup s root-ski privilegii.

1. Zasegnati sistemi:

Instalatsiiata po podrazbirane na OpenSSH ne e zasegnata, dokolkoto UseLogin po podrazbirane e 'no'. Obache, ako UseLogin e vklyuchena, vsichki versii na OpenSSH predi 2.1.1 sa zasegnati.

2. Opisanie:

Ako optsiiata UseLogin e vklyuchena, OpenSSH survurut (sshd) ne prevklyuchva na UID-a na vlizashtiia potrebitel. Vmesto tova, sshd razchita na login(1) da svurshi rabotata. Obache, ako potrebiteliat zadade komanda za otdalecheno izpulnenie, login(1) ne mozhe da bude izpolzvan i sshd se provalia v slaganeto na veren UID. Komandata se startira sus sushtite privilegii kato sshd (obiknoveno root-ski privilegii).

3. Opasnost:

Ako administratora vklyuchi UseLogin, niakoi potrebitel mozhe da vzeme privilegirovan dostup do survura, na koito e pusnat sshd.

4. Kratkovremenno reshenie:

Ne vklyuchvaite UseLogin na mashinata si ili izklyuchete UseLogin otnovo v: UseLogin no

5. Reshenie:

Obnovete do OpenSSH-2.1.1 ili prilozhete prikrepeniia patch. OpenSSH-2.1.1 mozhete da namerite ot www.openssh.com.

Prilozhenie:

1. OpenSSH-1.2.2

--- sshd.c.orig Thu Jan 20 18:58:39 2000
+++ sshd.c Tue Jun 6 10:12:00 2000
@@ -2231,6 +2231,10 @@
struct stat st;
char *argv[10];

+ /* login(1) is only called if we execute the login shell */
+ if (options.use_login && command != NULL)
+ options.use_login = 0;
+
f = fopen("/etc/nologin", "r");
if (f) {
/* /etc/nologin exists. Print its contents and exit. */

2. OpenSSH-1.2.3

--- sshd.c.orig Mon Mar 6 22:11:17 2000
+++ sshd.c Tue Jun 6 10:14:07 2000
@@ -2250,6 +2250,10 @@
struct stat st;
char *argv[10];

+ /* login(1) is only called if we execute the login shell */
+ if (options.use_login && command != NULL)
+ options.use_login = 0;
+
f = fopen("/etc/nologin", "r");
if (f) {
/* /etc/nologin exists. Print its contents and exit. */

3. OpenSSH-2.1.0

--- session.c.orig Wed May 3 20:03:07 2000
+++ session.c Tue Jun 6 10:10:50 2000
@@ -744,6 +744,10 @@
struct stat st;
char *argv[10];

+ /* login(1) is only called if we execute the login shell */
+ if (options.use_login && command != NULL)
+ options.use_login = 0;
+
f = fopen("/etc/nologin", "r");
if (f) {
/* /etc/nologin exists. Print its contents and exit. */



<< Izleze versiia 1.2.0 na XMMS | Bulgarskoto Linuks Obshtestvo v Evropa >>