CVE-2026-26957
Server-Side Request Forgery in Libredesk Webhook Validation
Publication date: 2026-02-20
Last updated on: 2026-02-20
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| abhinavxd | libredesk | to 1.0.2-0.20260215211005-727213631ce6 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-918 | The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination. |
| CWE-209 | The product generates an error message that includes sensitive information about its environment, users, or associated data. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
[{'type': 'paragraph', 'content': 'CVE-2026-26957 is a Server-Side Request Forgery (SSRF) vulnerability in the LibreDesk customer support desk application. It occurs because versions prior to 1.0.2-0.20260215211005-727213631ce6 do not properly validate destination URLs for webhooks. This allows an attacker with authenticated "Application Admin" privileges to make the server send HTTP requests to arbitrary internal or cloud infrastructure destinations.'}, {'type': 'paragraph', 'content': 'The root cause is insufficient validation of webhook URLs, which do not block private IP ranges or link-local addresses. Additionally, the application logs full response bodies on webhook delivery failures, potentially exposing sensitive information.'}] [2]
How can this vulnerability impact me? :
[{'type': 'paragraph', 'content': 'This vulnerability can allow an attacker with "Application Admin" access to perform internal network reconnaissance by forcing the server to send HTTP requests to internal services. This can reveal the presence and status of internal services such as databases or caches.'}, {'type': 'paragraph', 'content': 'Furthermore, the attacker can extract sensitive information from internal services by exploiting error messages that include full response bodies, potentially leaking secret keys or user roles.'}, {'type': 'paragraph', 'content': 'Overall, this could lead to compromise of the underlying cloud infrastructure or internal corporate network where LibreDesk is hosted.'}] [2]
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
[{'type': 'paragraph', 'content': 'This vulnerability can be detected by monitoring webhook delivery logs for unusual HTTP requests to internal or private IP ranges. Specifically, successful or failed webhook requests to internal ports (e.g., port 8890 or 8891) can indicate attempts to scan or map internal services.'}, {'type': 'paragraph', 'content': 'You can look for log entries showing HTTP status codes such as 200 (success) or connection refusals, which reveal internal network scanning activity.'}, {'type': 'paragraph', 'content': 'Suggested commands include searching the application logs for webhook delivery attempts to private IP ranges or localhost addresses. For example, using grep on log files to find such entries:'}, {'type': 'list_item', 'content': 'grep -E "(10\\.|192\\.168\\.|172\\.(1[6-9]|2[0-9]|3[0-1])|127\\.)" /path/to/libredesk/logs/*.log'}, {'type': 'list_item', 'content': 'grep -i "webhook" /path/to/libredesk/logs/*.log | grep -E "status code 200|connection refused|error"'}, {'type': 'paragraph', 'content': 'Additionally, monitoring network traffic for outbound HTTP requests from the LibreDesk server to internal IP ranges can help detect exploitation attempts.'}] [2]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include upgrading LibreDesk to version 1.0.2-0.20260215211005-727213631ce6 or later, which includes SSRF protection for webhooks.
Configure the new `webhook.allowed_hosts` parameter to restrict webhook destination URLs to a safe list of CIDR ranges, preventing requests to unauthorized internal IP addresses.
Avoid logging full response bodies on webhook delivery failures to prevent sensitive information leakage.
Implement strict input validation to block URLs resolving to private IP ranges and link-local addresses.
Use a custom HTTP transport layer that verifies resolved IP addresses after DNS resolution to prevent DNS rebinding attacks.
Adopt a defense-in-depth approach combining these mitigations to reduce the risk of exploitation.