CVE-2024-25181
SSRF and Arbitrary File Read in Givanz VvvebJs
Publication date: 2025-12-29
Last updated on: 2025-12-29
Assigner: MITRE
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| givanz | vvebjs | 1.7.2 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include restricting or disabling access to the vulnerable `save.php` endpoint, especially the `oembedProxy` action parameter. Implement input validation and sanitization to prevent arbitrary URLs from being processed. Additionally, restrict outgoing HTTP requests from the server to internal resources and sensitive files. Applying patches or upgrading to a fixed version of VvvebJs beyond 1.7.4 when available is also recommended. [1]
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The provided resources do not specify how this vulnerability affects compliance with common standards and regulations such as GDPR or HIPAA.
Can you explain this vulnerability to me?
This vulnerability in givanz VvvebJs 1.7.2 allows attackers to perform Server-Side Request Forgery (SSRF) and arbitrary file reading due to improper handling of user-supplied URLs in the "file_get_contents" function within the "save.php" file.
How can this vulnerability impact me? :
The vulnerability can allow attackers to make unauthorized requests from the server to internal or external systems (SSRF) and read arbitrary files on the server, potentially exposing sensitive information or enabling further attacks.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
You can detect this vulnerability by testing the vulnerable endpoint `save.php` with the `action=oembedProxy` parameter and supplying URLs that attempt to read sensitive files or access internal network resources. For example, using curl or Python requests to send requests like: `http://ip:port/save.php?action=oembedProxy&url=/etc/passwd` to check if the server returns the contents of sensitive files. Example command using curl: `curl "http://ip:port/save.php?action=oembedProxy&url=/etc/passwd"`. If the response contains file contents, the vulnerability exists. [1]