Shlink содержит уязвимость слепого внедрения SQL, которая позволяет любому авторизованному держателю ключа API вводить произвольные фрагменты SQL, предоставляя непроверенное значение направления в параметре запроса orderBy конечной точки статистики тегов. Злоумышленники могут создать вредоносную строку направления, содержащую подзапросы SQL, которые в необработанном виде передаются в предложение ORDER BY Doctrine QueryBuilder, позволяя извлекать конфиденциальные данные на основе времени, логического оракула и ошибок на основе ошибок, включая длинные URL-адреса, записи посетителей, IP-адреса, данные геолокации, пользовательские агенты и хэшированные секреты ключей API от любого арендатора.
Показать оригинальное описание (EN)
Shlink contains a blind SQL injection vulnerability that allows any authenticated API key holder to inject arbitrary SQL fragments by supplying an unvalidated direction value in the orderBy query parameter of the tag statistics endpoint. Attackers can craft a malicious direction string containing SQL subqueries that flows unsanitized into a Doctrine QueryBuilder ORDER BY clause, enabling time-based, boolean-oracle, and error-based extraction of sensitive data including long URLs, visitor records, IP addresses, geolocation data, user agents, and hashed API key secrets from any tenant.
Характеристики атаки
Последствия
Строка CVSS v4.0