Bug 13637 - cupsd по умолчанию принимает UDP соединения отовсюду, а не только с localhost
Summary: cupsd по умолчанию принимает UDP соединения отовсюду, а не только с localhost
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: cups (show other bugs)
Version: unstable
Hardware: all Linux
: P1 critical
Assignee: Anton Farygin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 14167
  Show dependency tree
 
Reported: 2007-12-08 17:04 MSK by Olvin
Modified: 2013-10-03 21:20 MSK (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Olvin 2007-12-08 17:04:55 MSK
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 inger@altlinux.org 2007-12-10 10:32:57 MSK
# 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 Olvin 2007-12-10 13:56:32 MSK
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 inger@altlinux.org 2007-12-10 18:35:46 MSK
без понятия зачем ему ещё и UDP-шный порт ;)
Comment 4 Olvin 2007-12-10 23:21:42 MSK
(In reply to comment #3)
> без понятия зачем ему ещё и UDP-шный порт ;)
> 

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

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

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

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

слушает ~ потенциально уязвим
Comment 9 inger@altlinux.org 2007-12-12 10:13:55 MSK
Скажите control cups local и расслабтесь, даже на localhost слушать не будет ;)

Comment 10 Olvin 2007-12-12 11:14:51 MSK
> Скажите control cups local и расслабтесь, даже на localhost слушать не будет ;)

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

Тогда нужно сделать эту службу недоступной из сети не 127.0.0.1 ИЛИ запускаемой
не из-под root.
Comment 13 Mikhail Gusarov 2008-06-13 12:59:26 MSD

    
Comment 14 Zerg 2008-09-16 02:37:16 MSD
Галку в альтераторе?
Comment 15 Lenar Shakirov 2010-11-06 14:37:41 MSK
Воспроизводится:
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 Michael Shigorin 2010-11-06 22:49:42 MSK
Не уверен, что есть большой смысл отрывать ему и обнаружение по UDP... разве что control cups paranoid какой.
Comment 17 Vitaly Lipatov 2013-10-03 21:20:16 MSK
(В ответ на комментарий №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
(ничего не выводит)