This bug bounty report highlights a critical URN (Uniform Resource Name) Injection vulnerability . Exploiting this vulnerability allows unauthorized access to sensitive resources and potentially results in data leakage. Immediate attention and mitigation measures are necessary to safeguard the system’s integrity and protect user information.
A URN (Uniform Resource Name), which makes use of the urn system, is a persistent identification for internet resources.
Every resource on the internet, regardless of its format, such as a website or email, is identified by a string of characters that doesn’t depend on its physical location.
URNs are given specified namespaces by a namespace authority, which ensures that they are distinct and enduring over time even if the resource to which they are associated changes or disappears.
For instance, the URN doesn’t change when resources and objects move, unlike a URL (Uniform Resource Locator), which loses validity when data is relocated to a new place.
Through extensive testing and analysis, I have discovered a URN Injection vulnerability within the target system. This vulnerability arises due to improper validation and sanitization of user-supplied URN parameters.
Attackers can exploit this vulnerability to manipulate URN values and potentially gain unauthorized access to sensitive resources or perform malicious actions.
urn:example:user; SELECT * FROM users WHERE username='admin' -
4. Enter any password in the corresponding “Password” field.
5. Submit the login form.
6. Observe the behavior of the application. If the URN Injection vulnerability exists, the system may process the injected URN value without proper validation.
7. Check for unauthorized access or unintended actions:
— If the application logs in successfully with the injected URN value, unauthorized access to a user’s account has been achieved.