URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 99017
[ Назад ]

Исходное сообщение
"В пакетном менеджере APT выявлена новая уязвимость"

Отправлено opennews , 23-Сен-14 23:56 
Спустя всего неделю с момента исправления (http://www.opennet.me/opennews/art.shtml?num=40620) порции уязвимостей в пакетном менеджере APT, для Debian (https://lists.debian.org/debian-security-announce/2014/msg00...) и Ubuntu (http://www.ubuntu.com/usn/usn-2353-1/) доступны очередное корректирующее обновление с устранением ещё одной уязвимости (CVE-2014-6273). Проблема вызвана переполнением буфера в коде загрузки данных по протоколу HTTP в apt-get и может привести к организации выполнения кода злоумышленника, который имеет возможность вклиниться в трафик через проведение MITM-атаки (man-in-the-middle).

URL: https://lists.debian.org/debian-security-announce/2014/msg00...
Новость: http://www.opennet.me/opennews/art.shtml?num=40658


Содержание

Сообщения в этом обсуждении
"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Аноним , 24-Сен-14 00:42 
и куда он дальше клиниться будет?

"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Аноним , 24-Сен-14 09:04 
После выполнения кода? Куда пожелает.

"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено pavlinux , 24-Сен-14 06:08 
Как же обновить apt, если apt дырявый?  

# apt-get upgrade ...
Пакеты, которые будут обновлены:
  acl acpi-support-base apt apt-utils attr autotools-dev cmake cmake-data conky conky-std
console-setup console-setup-linux cpp-4.8 cpp-4.9 curl flashplugin-nonfree fontconfig fontconfig-config g++-4.9 g++-4.9-multilib gcc-4.8 gcc-4.8-base gcc-4.9 gcc-4.9-base gcc-4.9-multilib geeqie geeqie-common geoip-database gfortran-4.9 ghostscript gir1.2-rsvg-2.0 grep gstreamer0.10-gconf gstreamer0.10-plugins-good gstreamer0.10-pulseaudio hostapd imagemagick-common installation-report irqbalance keyboard-configuration klibc-utils kmod less lib32asan1 lib32atomic1 lib32cilkrts5 lib32gcc-4.9-dev lib32gcc1 lib32gomp1 lib32itm1 lib32quadmath0 lib32stdc++-4.9-dev lib32stdc++6 lib32ubsan0 libacl1 libapt-inst1.5 libapt-pkg4.12 libasan0 libasan1 libatomic1 libattr1 libaudit-common libaudit1 libavcodec-dev libavcodec56 libavformat-dev libavformat56 libavresample-dev libavresample2 libavutil-dev libavutil54 libc-bin libc-dev-bin libc6 libc6-dbg libc6-dev libc6-dev-i386 libc6-dev-x32 libc6-i386 libc6-x32 libccid libcilkrts5 libcurl3 libcurl3-gnutls libdebconfclient0 libemail-valid-perl libevdev2 libfontconfig1 libfontconfig1-dev libgcc-4.8-dev libgcc-4.9-dev libgcc1 libgegl-0.2-0 libgfortran-4.9-dev libgfortran3 libgomp1 libgpg-error0 libgpgme11 libgs9 libgs9-common libio-socket-ssl-perl libitm1 libklibc libkmod-dev libkmod2 liblensfun-data liblensfun0 liblircclient0 liblsan0 libltdl-dev libltdl7 liblz1 libmailtools-perl libmpeg2-4 libmpeg2-4-dev libnuma-dev libnuma1 libobjc-4.9-dev libobjc4 liborcus-0.8-0 libpci-dev libpci3 libpython2.7 libpython2.7-dev libpython2.7-minimal libpython2.7-stdlib libpython3.4 libpython3.4-minimal libpython3.4-stdlib libqmi-glib1 libqmi-proxy libqtwebkit-dev libqtwebkit4 libquadmath0 librarian0 librest-0.7-0 librsvg2-2 librsvg2-common librsvg2-dev libstdc++-4.9-dev libstdc++6 libswscale-dev libswscale3 libtcmalloc-minimal4 libtiff-opengl libtiff5 libtiff5-dev libtiffxx5 libtool-bin libtsan0 libubsan0 libunique-1.0-0 libv4l-0 libv4l-dev libv4l2rds0 libv4lconvert0 libvcdinfo-dev libvcdinfo0 libwireshark-data libwireshark5 libwiretap4 libwnck-common libwnck-dev libwnck22 libwsutil4 libx32asan1 libx32atomic1 libx32cilkrts5 libx32gcc-4.9-dev libx32gcc1 libx32gomp1 libx32itm1 libx32quadmath0 libx32stdc++-4.9-dev libx32stdc++6 libx32ubsan0 libxfconf-0-2 libxkbcommon-dev libxkbcommon-x11-0 libxkbcommon-x11-dev libxkbcommon0 libzbar-dev libzbar0 locales module-init-tools multiarch-support nasm netcat-traditional numactl pciutils python-debian python-dnspython python-lxml python-qt4 python-sip python-six python2.7 python2.7-dev python2.7-minimal rarian-compat sudo task-cyrillic task-cyrillic-desktop task-desktop task-russian task-russian-desktop task-ssh-server tasksel tasksel-data whois wireshark wireshark-common wpasupplicant xfconf xinit xserver-common xserver-xephyr xserver-xorg-core xserver-xorg-dev xserver-xorg-input-synaptics xserver-xorg-video-nouveau zlib1g zlib1g-dev

Йопт... o_0


"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Аноним , 24-Сен-14 06:37 
Тебя удивляет, что в дистрибутиве обновляются пакеты? Или в чём твоя проблема?

"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Аноним , 24-Сен-14 09:05 
> Тебя удивляет, что в дистрибутиве обновляются пакеты? Или в чём твоя проблема?

Да это криокамера разморозилась - он год в анабиозе лежал и тут до него вдруг дошло что пакеты оказывается иногда надо обновлять.


"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено EuPhobos , 24-Сен-14 16:58 
Судя по всему это Jessie/testing

"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Xaionaro , 24-Сен-14 08:03 
> Как же обновить apt, если apt дырявый?

Вариант 1:


apt-get install apt

--

Вариант 2 (если боитесь уязвимости):


apt-get download --print-uris apt
wget -O /tmp/apt.deb $(apt-get download --print-uris apt | awk '{print $1}' | tr -d "'")
ls -ld /tmp/apt.deb
sha256sum /tmp/apt.deb
dpkg -i /tmp/apt.deb

Если совсем боитесь, то можете сами зайти на зеркало, найти нужный пакет, а также найти его hash-сумму и размер. После этого сделать wget и всё остальное.


Хотя, IMO, неплохо было бы ещё исправить тот факт, что у вас легко эксплуатируют MITM. Например, у нас поднято локальное зеркало (в глобальной сети известное как "ftp.ru.debian.org"), доступ к которому для большинства хостов осуществляется через отдельные vlan-ы с разумно настроенным firewall-ом на gw. И, IMHO, самый простой способ вклиниться, это зломать данный gw (у которого в цепочке INPUT стоит тупо DROP), либо само зеркало.


"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Аноним , 24-Сен-14 08:46 
aptitude

"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Xaionaro , 24-Сен-14 09:46 
> aptitude

Ну, лично у меня не стоит это… Однако если ближе к делу, то судя по зависимостям, aptitude использует «libapt-pkg». Вы уверены, что он не наследует эту же уязвимость?


"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Аноним , 24-Сен-14 10:25 
Это вообще просто удобная обвязка.

"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Аноним , 24-Сен-14 11:50 
Не наследует, уязвимость в бинарниках apt, а не в библиотеке.
В Debian устанавливается по умолчанию.

"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Xaionaro , 24-Сен-14 12:21 
> Не наследует, уязвимость в бинарниках apt, а не в библиотеке.

Обычно в таких случаях кидают proof link.

> В Debian устанавливается по умолчанию.

Ну, лично я для себя делаю свои установочники, чтобы не тратить каждый раз время. Догадываюсь, что так делают многие.


"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Посторонним В , 24-Сен-14 13:54 
> И, IMHO,
> самый простой способ вклиниться, это зломать данный gw (у которого в
> цепочке INPUT стоит тупо DROP), либо само зеркало.

Почему самый простой - это именно этот? :-)


"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Xaionaro , 24-Сен-14 21:31 
>> И, IMHO,
>> самый простой способ вклиниться, это зломать данный gw (у которого в
>> цепочке INPUT стоит тупо DROP), либо само зеркало.
> Почему самый простой - это именно этот? :-)

А какой способ проще?


"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Michael Shigorin , 25-Сен-14 02:16 
> Вариант 2 (если боитесь уязвимости):
> wget -O /tmp/

Сперва люди пишут в новостях по дыркам такое, затем -- в скрипты, а затем их раньше полоскали в багтраке по статье insecure /tmp use (в данном разе 100% предсказуемое имя файла -- при помощи болтающегося симлинка получается шанс юзеру обеспечить запись от рута содержимого этого apt.deb в любое удобное и уже существующее место)...

Не пишите в каталоги, которые доступны другим пользователям на запись, файлы с предсказуемыми именами.  Хотя бы в скриптах.  Привычка -- страшная штука.


"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Xaionaro , 25-Сен-14 07:37 
>> Вариант 2 (если боитесь уязвимости):
>> wget -O /tmp/
> Сперва люди пишут в новостях по дыркам такое, затем -- в скрипты,
> а затем их раньше полоскали в багтраке по статье insecure /tmp
> use (в данном разе 100% предсказуемое имя файла -- при помощи
> болтающегося симлинка получается шанс юзеру обеспечить запись от рута содержимого этого
> apt.deb в любое удобное и уже существующее место)...
> Не пишите в каталоги, которые доступны другим пользователям на запись, файлы с
> предсказуемыми именами.  Хотя бы в скриптах.  Привычка -- страшная
> штука.

Согласен, я написал хреновый вариант. И я действительно иногда так делаю, хоть это и свойственно только для личных машин (где сильно недоверенных пользователей нет). В общем, благодарю за хорошее замечание. :)

Однако "ls -ld /tmp/apt.deb" (указанный в инструкции) всё-таки объяснил бы что к чему, если бы действительно кто-то воспользовался моментом. Да и "sha256sum /tmp/apt.deb" (тоже упомянутый) чуток полезен для таких ситуаций.

Кроме того это и не надо было воспринимать как точную инструкцию, скорее просто как proof of concept. Я даже не проверил работоспособность данного варианта.


"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Andrey Mitrofanov , 24-Сен-14 10:22 
> Как же обновить apt, если apt дырявый?

Если тебя все аттакуют и поставить apt самим apt-том не вариант, то...

Ну, wget-ом по цепочке с проверками всех подписей и хэшеё Release + Releas.gpg + Packages.xz + все .deb. Ты сможешь!

> # apt-get upgrade ...
> Пакеты, которые будут обновлены:
>пт... o_0

Даже и не думай об /var/log/messages и tcpdump -vvi any!


"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Аноним , 24-Сен-14 07:39 
прилетело, обновили, забыли
чо хай то в каментах поднимать ?

"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Аноним , 24-Сен-14 07:58 
ну правильно - надо все в тихую делать.. а о дырах не рассказывать. Не за это ли ругают MS?

"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Аноним , 24-Сен-14 11:26 
ASCIIZ строки дают о себе знать. Автор наверняка выделил буфер фиксированной длины и что-то не учел. Можно, конечно, постоянно высчитывать длину, выделять память, но на это требуется время, что соответственно сказывается на производительности.

"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Аноним , 24-Сен-14 11:51 
Но как вы догадались, Холмс?

"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено IMHO , 24-Сен-14 14:11 
такие новости выпускает фанат Поттеринга, что бы пилить пакетный манеджер еще в системД

"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено inkvizitor68sl , 24-Сен-14 19:08 
Интересно, а никого не смущает тот факт, что все репозитории работают по http и вместо любого пакета mitm может подложить пакет, меняющий рутовый пароль) ?

"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Crazy Alex , 24-Сен-14 23:15 
man криптография с открытым ключом

"В пакетном менеджере APT выявлена новая уязвимость"
Отправлено Andrey Mitrofanov , 25-Сен-14 10:51 
> man криптография с открытым ключом

.deb проверяется по размеру, и MD5, и SHA1, и SHA256, и SHA512. Пожелаем успеха предыдущему оратору в генерации подходящей коллизии.