Продолжение серии заметок о неочевидных и опасных поведениях Go, дополнение к первой части 2024 года.
Автор освещает ряд проблем:
- тихие целочисленные переполнения, где тип int зависит от архитектуры, что ведёт к реальным уязвимостям вроде SQL-инъекций через библиотеки сериализации;
- удаление заголовков hop-by-hop в httputil.ReverseProxy, из‑за чего можно сбросить auth-заголовки через Connection;
- мутация net/url при копировании по значению, приводящая к race condition;
- обход аутентификации через null-байты на границе с CGO;
- невызов кастомного MarshalJSON при кодировании по значению — это вызывает утечку sensitive data из‑за reflection;
- а также CSRF-уязвимости из‑за пропущенной валидации Content-Type в паре с игнорированием лишних байт encoding/json.
К статье прилагаются semgrep-правила для поиска этих паттернов.
13.06.2026
Похожее
28.09.2026
C на Go
Интересный пропозал - добавить возможность сборки Go-пакетов, использующих cgo д...
25.09.2026
Бенчим джейсон
Автор на реальном API с нагрузкой 50M запросов/сутки)сравнивает производительнос...
24.09.2026
Rune
Команда Unstable Build заопенсорсила свою нативную IDE Rune, написанную на Go. ...
23.09.2026
Специализированные аллокаторы
В Go 1.27 появилась оптимизация выделения памяти для объектов размером до 80 бай...