Продолжение серии заметок о неочевидных и опасных поведениях 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.07.2026
Арены жалко
Go отказался от экспериментальных Memory Arenas - механизма, позволявшего выделя...
27.07.2026
687 ГБ аллокаций
Автор профилировал свою многопоточную реализацию Redis на Go и обнаружил, что од...
26.07.2026
HTMX с Go
Автор детально описывает свои паттерны интеграции HTMX с Go. Почитайте, там мног...
23.07.2026
Убираем ограничения
Автор разбирает продвинутый прием устранения проверки границ в горячих путях Go ...