Headline
GHSA-632p-p495-25m5: 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/string
will 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.
Skip to content
Navigation Menu
Actions
Automate any workflow
Packages
Host and manage packages
Security
Find and fix vulnerabilities
Codespaces
Instant dev environments
GitHub Copilot
Write better code with AI
Code review
Manage code changes
Issues
Plan and track work
Discussions
Collaborate outside of code
GitHub Sponsors
Fund open source developers
* The ReadME Project
GitHub community articles
Enterprise platform
AI-powered developer platform
- Pricing
Provide feedback
Saved searches****Use saved searches to filter your results more quickly
Sign up
- GitHub Advisory Database
- GitHub Reviewed
- CVE-2024-36128
Directus is soft-locked by providing a string value to random string util
High severity GitHub Reviewed Published Jun 3, 2024 in directus/directus • Updated Jun 4, 2024
Package
npm directus (npm)
Affected versions
<= 10.11.1
Description
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/string will 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.
References
- GHSA-632p-p495-25m5
- https://nvd.nist.gov/vuln/detail/CVE-2024-36128
- directus/directus@7d2a139
Published to the GitHub Advisory Database
Jun 4, 2024