Описание
Directus is soft-locked by providing a string value to random string util
Describe the Bug
Providing a non-numeric length value to the random string generation utility will create a memory issue breaking the capability to generate random strings platform wide. This creates a denial of service situation where logged in sessions can no longer be refreshed as sessions depend on the capability to generate a random session ID.
To Reproduce
- Test if the endpoint is working and accessible,
GET http://localhost:8055/utils/random/string - Do a bad request
GET http://localhost:8055/utils/random/string?length=foo - After this all calls to
GET http://localhost:8055/utils/random/stringwill return an empty string instead of a random string - In this error situation you'll see authentication refreshes fail for the app and api.
Impact
This counts as an unauthenticated denial of service attack vector so this impacts all unpatched instances reachable over the internet.
Пакеты
directus
<= 10.11.1
10.11.2
Связанные уязвимости
Directus is a real-time API and App dashboard for managing SQL database content. Prior to 10.11.2, providing a non-numeric length value to the random string generation utility will create a memory issue breaking the capability to generate random strings platform wide. This creates a denial of service situation where logged in sessions can no longer be refreshed as sessions depend on the capability to generate a random session ID. This vulnerability is fixed in 10.11.2.