Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Potential Server-Side Request Forgery (SSRF) in messageBirdService.requestByID Methods Affecting Various Client Calls #260

Open
ibrahim-signal opened this issue Aug 16, 2024 · 0 comments

Comments

@ibrahim-signal
Copy link

Description:

A Server-Side Request Forgery (SSRF) vulnerability has been identified in the messageBirdService.requestByID methods, which is utilized across various client calls in the MessageBird API, such as MessageBirdClient.verifyToken(String id, String token).

The issue arises when the id parameter, passed to the requestByID method, is not properly validated or sanitized. This allows an attacker to manipulate the id parameter to send arbitrary authenticated requests, potentially leading to unauthorized access to internal endpoints.

For example, if the id parameter is untrusted or user-controlled, an attacker can exploit this by supplying a path traversal string like "../../../<SOME_PATH>", which could be used to access unintended resources.

Affected Functions:

messageBirdService.requestByID
MessageBirdClient.verifyToken(String id, String token)
Any other client calls relying on requestByID

Impact:

An attacker can exploit this vulnerability to:

Send arbitrary authenticated requests to internal or external services.
Access sensitive data by manipulating request parameters.
Potentially compromise the security of the underlying system.

Recommendations:

To mitigate this vulnerability, it is recommended to implement some sort of input Validation:
A strong recommendation is to enforce that the id follows a UUID format (e.g., xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx), which can prevent arbitrary input manipulation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant