Bug 13637 - cupsd по умолчанию принимает UDP соединения отовсюду, а не только с localhost
: cupsd по умолчанию принимает UDP соединения отовсюду, а не только с localhost
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/cups)
: unstable
: all Linux
: P1 critical
Assigned To:
:
:
:
:
: 14167
  Show dependency tree
 
Reported: 2007-12-08 17:04 by
Modified: 2013-10-03 21:20 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2007-12-08 17:04:55
cupsd сразу после установки принимает соединения отовсюду, а не только с
localhost. Причём запускается этот сервер из-под пользователя root, т.е.
потенциально уязвим как из локальной сети, так из через Интернет (если до
настройки доступа не закрыть firewall'ом).

Actual Results:  
cupsd принимает запросы отовсюду, т.е. слушает 0.0.0.0:631/udp

Expected Results:  
cupsd принимает запросы только от localhost, т.е. слушает 127.0.0.1:631/udp
------- Comment #1 From 2007-12-10 10:32:57 -------
# netlist -a|grep cups
root     6106  cupsd    1 tcp       127.0.0.1:631           0.0.0.0:0     LISTEN
root     6106  cupsd    4 udp         0.0.0.0:631           0.0.0.0:0     CLOSE

---cupsd.conf---
# Only listen for connections from the local machine.
Listen localhost:631

---
То есть по udp он вроде как ничего не слушает.

------- Comment #2 From 2007-12-10 13:56:32 -------
OK. А как насчёт такого (уже не netlist, а netstat):

[root@ald40 ~]# netstat -avpn 2>/dev/null|grep cups
tcp        0      0 127.0.0.1:631               0.0.0.0:*                  
LISTEN      3651/cupsd
udp        0      0 0.0.0.0:631                 0.0.0.0:*                      
        3651/cupsd
unix  2      [ ACC ]     STREAM     LISTENING     12746  3651/cupsd         
/var/run/cups/cups.sock

Как прокомментируете? Зачем оно вообще висит на 0.0.0.0, если ему сказано
слушать только localhost? Я понимаю, что вроде бы не слушает, но сам факт того,
что есть такая строчка в выводе настораживает.

Скорее всего, помечу как INVALID, но дождусь вашего комментария.
------- Comment #3 From 2007-12-10 18:35:46 -------
без понятия зачем ему ещё и UDP-шный порт ;)
------- Comment #4 From 2007-12-10 23:21:42 -------
(In reply to comment #3)
> без понятия зачем ему ещё и UDP-шный порт ;)
> 

Нда... Так он всё-таки слушает или нет? :)
Resolved bug: INVALID
------- Comment #5 From 2007-12-11 01:47:05 -------
(In reply to comment #3)
> без понятия зачем ему ещё и UDP-шный порт ;)

Вероятно, для какого-нить обнаружения по бродкастам.

Судя по nmap, UDP он слушает...
------- Comment #6 From 2007-12-11 12:44:17 -------
(In reply to comment #5)
>> без понятия зачем ему ещё и UDP-шный порт ;)
> Вероятно, для какого-нить обнаружения по бродкастам.
> Судя по nmap, UDP он слушает...

Так что - получается, уязвим?
------- Comment #7 From 2007-12-11 20:05:22 -------
слушает != уязвим
------- Comment #8 From 2007-12-11 20:23:44 -------
(In reply to comment #7)
> слушает != уязвим

слушает ~ потенциально уязвим
------- Comment #9 From 2007-12-12 10:13:55 -------
Скажите control cups local и расслабтесь, даже на localhost слушать не будет ;)
------- Comment #10 From 2007-12-12 11:14:51 -------
> Скажите control cups local и расслабтесь, даже на localhost слушать не будет ;)

В общем, это надо сделать по умолчанию. А то слушает ведь, причём зря и
небезопасно, в общем случае.
------- Comment #11 From 2007-12-12 12:04:58 -------
нет, по умолчанию будет наименее проблемный вариант ... мы уже проходили, когда
делаешь параною а потом выслушиваешь ругань пользователей ;)
------- Comment #12 From 2007-12-12 14:28:05 -------
> нет, по умолчанию будет наименее проблемный вариант ... мы уже проходили, когда
> делаешь параною а потом выслушиваешь ругань пользователей ;)

Тогда нужно сделать эту службу недоступной из сети не 127.0.0.1 ИЛИ запускаемой
не из-под root.
------- Comment #13 From 2008-06-13 12:59:26 -------
*** This bug has been confirmed by popular vote. ***
------- Comment #14 From 2008-09-16 02:37:16 -------
Галку в альтераторе?
------- Comment #15 From 2010-11-06 14:37:41 -------
Воспроизводится:
cups-1.4.4-alt2

# netstat -anlpu | grep cups
udp  0  0 0.0.0.0:631  0.0.0.0:*  3768/cupsd

Перевешиваю на Сизиф
------- Comment #16 From 2010-11-06 22:49:42 -------
Не уверен, что есть большой смысл отрывать ему и обнаружение по UDP... разве
что control cups paranoid какой.
------- Comment #17 From 2013-10-03 21:20:16 -------
(В ответ на комментарий №2)
> OK. А как насчёт такого (уже не netlist, а netstat):
> 
> [root@ald40 ~]# netstat -avpn 2>/dev/null|grep cups
> tcp        0      0 127.0.0.1:631               0.0.0.0:*                  
> LISTEN      3651/cupsd
> udp        0      0 0.0.0.0:631                 0.0.0.0:*                      
>         3651/cupsd
> unix  2      [ ACC ]     STREAM     LISTENING     12746  3651/cupsd         
> /var/run/cups/cups.sock

Больше не слушает:
 # rpm -q cups
cups-1.6.2-alt3

# netstat -avpn 2>/dev/null|grep cups
tcp        0      0 0.0.0.0:631                 0.0.0.0:*                  
LISTEN      26898/cupsd         
tcp        0      0 :::631                      :::*                       
LISTEN      26898/cupsd  


# netstat -anlpu | grep cups
(ничего не выводит)