Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
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.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
POC_CVE-2026-42589 — POC_CVE-2026-42589 | Kitploit
Tools/GitHubGitHub/fineman999/poc_cve-2026-42589
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubfineman999/poc_cve-2026-42589

POC_CVE-2026-42589

POC_CVE-2026-42589

View Repository
154 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

POC_CVE-2026-42589

Local reproduction lab and nuclei template draft for CVE-2026-42589 affecting Gotenberg.

Summary

CVE-2026-42589 is an unauthenticated remote code execution issue in Gotenberg caused by metadata key newline injection in:

POST /forms/pdfengines/metadata/write

Affected Gotenberg forwards user-controlled metadata keys to ExifTool without rejecting control characters. A metadata key containing JSON-escaped newlines may be split into additional ExifTool arguments.

This lab was used to validate:

  • vulnerable behavior on gotenberg/gotenberg:8.29.1
  • patched behavior on gotenberg/gotenberg:8.31.0

The nuclei template uses only a non-destructive sleep 6 timing check.

References

  • GitHub Advisory: https://github.com/gotenberg/gotenberg/security/advisories/GHSA-rqgh-gxv4-6657
  • Fixed release: https://github.com/gotenberg/gotenberg/releases/tag/v8.31.0
  • ExifTool docs: https://exiftool.org/exiftool_pod.html

Files

  • docker-compose.yml
  • docker-compose.latest.yml
  • CVE-2026-42589.yaml
  • manual_verify.py
  • sample.pdf
  • README.md

Vulnerable Test

Start Gotenberg 8.29.1:

docker compose down -v
docker compose up -d
docker compose logs --tail=100 gotenberg

Check the version:

curl -s http://127.0.0.1:3000/version

Manual raw multipart timing check:

python3 manual_verify.py http://127.0.0.1:3000

Expected vulnerable signal:

HTTP/1.1 500 Internal Server Error
TOTAL_TIME=6.xs

Observed vulnerable result:

HTTP/1.1 500 Internal Server Error
TOTAL_TIME=6.300s
Internal Server Error

Patched-Version Control

Start Gotenberg 8.31.0:

docker compose -f docker-compose.latest.yml down -v
docker compose -f docker-compose.latest.yml up -d
docker compose -f docker-compose.latest.yml logs --tail=100 gotenberg

Check the version:

curl -s http://127.0.0.1:3000/version

Run the same manual timing check:

python3 manual_verify.py http://127.0.0.1:3000

Observed patched-version result:

HTTP/1.1 400 Bad Request
TOTAL_TIME=0.145s
At least one PDF engine cannot process the requested metadata, while others may have failed to convert due to different issues

Nuclei

Validate the template:

nuclei -duc -validate -t CVE-2026-42589.yaml

Run against the vulnerable target:

nuclei -duc -u http://127.0.0.1:3000 -t CVE-2026-42589.yaml

Expected behavior:

  • 8.29.1: match after the delayed 500 response
  • 8.31.0: no match

Observed vulnerable result:

[CVE-2026-42589] [http] [critical] http://127.0.0.1:3000/forms/pdfengines/metadata/write
[INF] Scan completed in 6.245907708s. 1 matches found.

Observed patched-version result:

[INF] Scan completed in 93.01425ms. No results found.

Notes

  • This lab intentionally avoids file writes, reverse shells, and out-of-band callbacks.
  • The template detects behavior, not only a version banner.
  • No real-world targets were used.
  • Use only on systems you own or are explicitly authorized to test.
Download Tool