The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Обновление языка Go 1.8.4 и 1.9.1 с устранением проблем с безопасностью

05.10.2017 08:23

Опубликованы корректирующие выпуски языка программирования Go 1.8.4 и 1.9.1, в которых устранены две проблемы с безопасностью:

  • Возможность запуска стороннего кода при выполнении операций "go get" или "go get -d" над пакетами, размещёнными в специально оформленных вложенных репозиториях. Атакующий может разместить в репозитории Subversion (или другой системе управления версиями, отличной от Git), срез "git checkout", включающий набор хуков (.git/hooks/). При обработке такого репозитория указанные во вложенном Git-репозитории скрипты-обработчики будут выполнены на стороне клиента;
  • В пакете smtp устранена проблема, которая могла использоваться для перехвата паролей в открытом виде в результате MITM-атаки из-за применения метода PLAIN auth для незашифрованных соединений, если удалённый сервер заявляет о поддержке данного метода аутентификации. В новой версии действие PLAIN auth ограничено только TLS-сеансами и обращением к localhost.


  1. Главная ссылка к новости (https://groups.google.com/foru...)
  2. OpenNews: Релиз языка программирования Go 1.9
  3. OpenNews: Релиз языка программирования Go 1.8
  4. OpenNews: Проект Go опубликовал собственный шрифт для программистов
  5. OpenNews: Выпуск языка программирования Go 1.7
  6. OpenNews: Уязвимость в Git, Subversion и Mercurial, допускающая подстановку команд через URL ssh://
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/47332-golang
Ключевые слова: golang
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (6) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, wooz (??), 16:27, 05/10/2017 [ответить]  
  • –4 +/
    Наверное, правильней говорить "обновление интерперетатора языка", ибо сам язык не претерпел изменений ведь, верно?
     
     
  • 2.2, й (?), 17:17, 05/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    он компилируемый. один из фиксов -- в стандартной smtp-библиотеке (оторвали plain, если нет tls и не localhost), второй -- в своего рода пакетном менеджере go get.
     
     
  • 3.3, anonimus (?), 18:12, 05/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Интерпретируемый / компилируемый, какая разница? Язык это одно, а стандартная библиотека - это другое.

    Если в glibc найдётся уязвимость, мы будем кричать про новый релиз языка с++? Или все таки следующего стандарта подождем?

     
     
  • 4.4, deb (?), 23:38, 05/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Одна из особенностей "языка go" (в контексте заголовка - так его везде в энторнэтах и используют "язык go", "go lang") - это не просто отдельный компилятор + отдельная стандартная библиотека, оно "в одном флаконе", причем собирать и использовать его можно не только из /bin | /usr/local | /opt / etc, а откуда угодно - хоть из $HOME, да хоть из /tmp (причем очень просто - достаточно задать помимо $GOPATH еще и $GOROOT - что удобно в CI, когда можно на сборочных агентах при сборке без возможности пользования контейнеров/виртуализации иметь одновременно сразу несколько версий). А glibc - это "всего лишь" библиотека... (Про С++ вы наверно пошутили, подразумевая libstdc++/libc++?...)
     
     
  • 5.6, Аноним (-), 10:14, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    эммм.. я реально не понимаю.

    с++ тоже можно "собирать и использовать не только из /bin | /usr/local | /opt / etc, а откуда угодно - хоть из $HOME, да хоть из /tmp"
    и даже задавать ни чего не нужно, главное что бы не было noexec

    кстати, тот же stdc++ идет из компилятора.

     
  • 4.5, angra (ok), 01:02, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У многих ЯП нет четкого разделения на спецификацию и реализацию. Корректирующий выпуск perl, ruby или python тоже может выйти без каких-либо изменений в спецификации, но с исправлениями/улучшениями в core модулях или утилитах. И говорит будут про обновление языка perl/ruby/python, так как там спецификация и ее эталонная(а то и единственная) реализация неразрывно связаны. Go относится к таким ЯП.

    А есть ЯП вроде C, С++ и javascript, которые отличаются тем, что спецификации сами по себе, а реализации сами по себе. И для них нормальна ситуация, когда ни одна из реализаций не является полноценной, но вместе с тем содержит не входящие в спецификацию фичи. Вот для них про изменение в стандарте и изменение в какой-либо из реализаций говорят отдельно. А в случае с libc еще хуже, у нее своя независимая разработка и множественные не очень совместимые реализации, про которые тоже пишут отдельно, а не говорят об обновлении языка С.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру