CVE-2025-57785
📋 TL;DR
A double free vulnerability in the XSLT show_index function of Hiawatha webserver version 11.7 allows unauthenticated attackers to corrupt memory, potentially leading to arbitrary code execution. This affects all systems running the vulnerable version of Hiawatha webserver with XSLT processing enabled.
💻 Affected Systems
- Hiawatha Webserver
📦 What is this software?
Hiawatha Webserver by Hiawatha.leisink
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution with webserver privileges, allowing complete system compromise.
Likely Case
Denial of service through webserver crash or memory corruption.
If Mitigated
Limited impact if XSLT processing is disabled or proper memory protections are in place.
🎯 Exploit Status
Double free vulnerabilities require specific memory manipulation but are often exploitable for code execution.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Version 11.8 or later
Vendor Advisory: https://gitlab.com/hsleisink/hiawatha/-/blame/master/src/xslt.c?ref_type=heads#L675
Restart Required: Yes
Instructions:
1. Download latest Hiawatha version from official repository. 2. Stop Hiawatha service. 3. Install new version. 4. Restart Hiawatha service.
🔧 Temporary Workarounds
Disable XSLT Processing
linuxDisable XSLT functionality in Hiawatha configuration to prevent exploitation.
Edit hiawatha.conf and remove or comment XSLT-related directives
🧯 If You Can't Patch
- Disable XSLT processing in Hiawatha configuration
- Implement network segmentation to restrict access to webserver
🔍 How to Verify
Check if Vulnerable:
Check Hiawatha version with 'hiawatha -v' and verify if it's 11.7
Check Version:
hiawatha -v
Verify Fix Applied:
Verify version is 11.8 or later with 'hiawatha -v'
📡 Detection & Monitoring
Log Indicators:
- Unexpected webserver crashes
- Memory corruption errors in system logs
- Abnormal XSLT processing requests
Network Indicators:
- Multiple malformed requests to XSLT endpoints
- Unusual traffic patterns to webserver
SIEM Query:
source="hiawatha.log" AND ("crash" OR "segmentation fault" OR "double free")