Listen to this Post

Microsoft Office Online had a critical SSRF (Server-Side Request Forgery) vulnerability affecting Word, Excel, PowerPoint, and Visio. The issue stemmed from two endpoints:
1. `skydriveuploadhandler.ashx`
2. `sharepointsaveashandler.ashx`
Both endpoints processed a hidden parameter `furl` (file URL), allowing attackers to force the server to fetch arbitrary URLs and save the responses directly to OneDrive or SharePoint.
🔍 The Vulnerability Breakdown
Variant 1 – `skydriveuploadhandler.ashx`
- Impact: All Office apps (Word, Excel, Visio, PowerPoint).
- Exploit: No URL validation—allowed fetching internal endpoints like:
– `http://169.254.169.254/metadata/v1/instanceinfo` (Azure metadata)
– `http://localhost/` - Bounty: $3,000 (Fixed by MSRC).
Variant 2 – `sharepointsaveashandler.ashx`
- Restrictions: Blocked HTTP and internal IPs, only allowed HTTPS.
- Bypass: Used an HTTPS server that redirected to internal HTTP endpoints.
- Bounty: $5,000 (Total: $8,000).
☁️ Impact Summary
- Internal Data Exposure: Fetch Azure metadata, internal services.
- File Persistence: Responses saved to OneDrive/SharePoint.
- No Content Validation: Raw JSON/HTML saved as
.docx.
You Should Know: SSRF Exploitation & Defense
Exploiting SSRF (Testing Locally)
Set up a local HTTP server (Python) python3 -m http.server 8080 Test SSRF with curl (simulating vulnerable endpoint) curl "http://vulnerable-site.com/skydriveuploadhandler.ashx?furl=http://localhost:8080/secret.txt"
Detecting SSRF Vulnerabilities
Use Burp Suite or OWASP ZAP to intercept requests Look for URL fetching parameters (e.g., furl, url, endpoint) Check for internal IP access (Linux) curl -v "http://target.com/api?url=http://169.254.169.254/latest/meta-data/"
Mitigation Techniques
Block internal IPs in Nginx
location / {
deny 10.0.0.0/8;
deny 172.16.0.0/12;
deny 192.168.0.0/16;
deny 169.254.0.0/16;
}
Use AWS Metadata Service v2 (IMDSv2) to restrict access
TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")
curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/
Windows SSRF Protection (PowerShell)
Restrict outbound HTTP requests in Windows Firewall New-NetFirewallRule -DisplayName "Block Internal SSRF" -Direction Outbound -LocalPort Any -RemoteAddress 169.254.0.0/16,10.0.0.0/8 -Action Block
What Undercode Say
SSRF remains a critical threat in cloud environments. Microsoft’s quick patch and bounty payout highlight its severity. Key takeaways:
– Always validate user-supplied URLs in API endpoints.
– Use allowlists instead of blocklists for domain restrictions.
– Monitor outbound requests from servers to detect exploitation.
Expected Output:
A secure system should log and block unauthorized internal requests. Test with:
Log all outbound requests (Linux) sudo tcpdump -i eth0 'dst net 10.0.0.0/8 or 172.16.0.0/12 or 192.168.0.0/16' -w ssrf_attempts.pcap
Prediction: SSRF attacks will evolve with cloud-native apps, requiring stricter zero-trust policies.
References:
Reported By: Guy H087 – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅


