Arc — это открытая база данных временных рядов на основе SQL для телеметрии. В версиях до 26.06.1 обработчики `net/http/pprof` Go регистрируются в `/debug/pprof/*` через `app.Use(pprof.New())` в `internal/api/server.go`, а `/debug/pprof` добавляется в `PublicPrefixes` в `cmd/arc/main.go`. Промежуточное программное обеспечение аутентификации выполняет короткое замыкание перед проверкой токена на совпадение префикса, поэтому конечные точки доступны без какой-либо аутентификации.
Версия 26.06.1 содержит патч. Доступны некоторые обходные пути. Заблокируйте `/debug/pprof*` на обратном прокси-сервере/балансировщике нагрузки перед Arc, ограничьте порт API Arc известными доверенными сетями с помощью правил брандмауэра и/или исправьте работающую сборку: закомментируйте `app.Use(pprof.New())` в `internal/api/server.go` и перестройте.
Показать оригинальное описание (EN)
Arc is an open, SQL-native time-series database for telemetry. Versions prior to 26.06.1 register Go's `net/http/pprof` handlers at `/debug/pprof/*` via `app.Use(pprof.New())` in `internal/api/server.go`, and `/debug/pprof` is added to `PublicPrefixes` in `cmd/arc/main.go`. The auth middleware short-circuits before the token check on prefix match, so the endpoints are reachable without any authentication. Version 26.06.1 contains a patch. Some workarounds are available. Block `/debug/pprof*` at a reverse proxy / load balancer in front of Arc, restrict Arc's API port to known-trusted networks via firewall rules, and/or patch the running build: comment out `app.Use(pprof.New())` in `internal/api/server.go` and rebuild.
Характеристики атаки
Последствия
Строка CVSS v4.0