Vitess — это система кластеризации баз данных для горизонтального масштабирования MySQL. В версии 24.0.2 и более ранних версиях конечная точка /debug/vrlog, зарегистрированная с помощью addHttpEndpoint() в go/vt/vttablet/tabletmanager/vreplication/vrlog.go, вызывает vrlogStatsHandler() без acl.CheckAccessHTTP(r, acl.DEBUGGING), в отличие от сопоставимых конечных точек отладки. Удаленный вызывающий абонент, который может подключиться к HTTP-порту отладки vttablet, может обойти настроенную политику безопасности и передать в потоковом режиме данные VrLogStats, полученные с помощью NewVrLogStats().Send(), включая буквальные операторы SQL и связанные значения приложения из рабочих процессов MoveTables, Reshard, Materialize и vitess-strategy Online DDL.
Показать оригинальное описание (EN)
Vitess is a database clustering system for horizontal scaling of MySQL. In 24.0.2 and earlier, the /debug/vrlog endpoint registered by addHttpEndpoint() in go/vt/vttablet/tabletmanager/vreplication/vrlog.go invokes vrlogStatsHandler() without acl.CheckAccessHTTP(r, acl.DEBUGGING), unlike comparable debug endpoints. A remote caller who can reach the vttablet debug HTTP port can bypass the configured security policy and stream VrLogStats data produced from NewVrLogStats().Send(), including literal SQL statements and bound application values from MoveTables, Reshard, Materialize, and vitess-strategy Online DDL workflows
Характеристики атаки
Последствия
Строка CVSS v3.1