☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 8.3 🐛 CWE-863
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-54583

CVE-2025-54583 Supply Chain Attack in Gitproxy
📅 PUBLISHED: 2025-07-30 19:59 UTC 🔄 UPDATED: 2026-09-23 20:15 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.45%
👁️
0.45% probability
11.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
8.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-54583 is a critical security vulnerability in GitProxy, an application that acts as an intermediary between developers and Git remote endpoints (e.g., GitHub). Versions 1.19.1 and below allow users to push to remote repositories while bypassing all configured policies and explicit approvals. This means that checks and plugins designed to enforce security, compliance, or code quality are completely skipped. An attacker exploiting this flaw can push code containing secrets, malware, or unwanted changes directly into a repository, bypassing all guardrails. The vulnerability is fixed in version 1.19.2.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

GitProxy is a Go-based application. The vulnerability directly impacts the software supply chain by allowing unauthorized code to be injected into repositories that rely on GitProxy for policy enforcement. This can lead to the distribution of compromised code to downstream consumers, making it a high-severity supply chain risk.

CVSS Breakdown & Threat Level

The CVSS score is listed as 0.0, which is likely a placeholder or unassigned. Based on the impact, a reasonable assessment would be:

  • Attack Vector (AV): Network (N) – The vulnerability is exploitable over the network.
  • Attack Complexity (AC): Low (L) – No special conditions are required.
  • Privileges Required (PR): Low (L) – An attacker needs valid credentials to push, but no admin privileges.
  • User Interaction (UI): None (N) – No user action is required.
  • Scope (S): Unchanged (U) – The vulnerable component is the only one affected.
  • Confidentiality (C): High (H) – Secrets can be exfiltrated.
  • Integrity (I): High (H) – Unauthorized code can be pushed.
  • Availability (A): Low (L) – The vulnerability does not directly impact availability.

Estimated CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L

Threat Level: Critical. The ability to bypass all security policies and push arbitrary code makes this a severe threat.

Deep Dive & Mechanics

GitProxy is designed to sit between a developer and a Git remote, enforcing policies such as secret scanning, branch protection, and approval workflows. The vulnerability lies in the request handling logic for push operations. In versions 1.19.1 and below, the application fails to properly validate that all configured plugins and checks have been executed before allowing a push to proceed. Specifically, the code path for handling push requests does not invoke the plugin chain, allowing a direct pass-through to the remote endpoint.

The root cause is a missing or improperly implemented middleware check. When a push request is received, the application should iterate through a list of registered plugins (e.g., secret scanners, branch protection rules) and only allow the push if all plugins pass. In the vulnerable versions, this iteration is skipped, and the push is forwarded directly to the remote repository.

Vulnerable vs. Patched Code

The following is a conceptual representation of the vulnerable and patched code.

Vulnerable Code (versions <= 1.19.1):

func handlePush(w http.ResponseWriter, r *http.Request) {
    // Missing: plugin execution
    // Directly forward the push to the remote
    forwardPushToRemote(w, r)
}

Patched Code (version 1.19.2):

func handlePush(w http.ResponseWriter, r *http.Request) {
    // Execute all registered plugins
    for _, plugin := range plugins {
        if err := plugin.Execute(r); err != nil {
            http.Error(w, "Push blocked by policy: "+err.Error(), http.StatusForbidden)
            return
        }
    }
    // Only forward if all plugins pass
    forwardPushToRemote(w, r)
}

Exploitation & Lab Setup

Red Team

  1. Setup: Deploy a vulnerable GitProxy instance (version 1.19.1) with a configured remote repository.
  2. Exploit: As an authenticated user, initiate a git push to the GitProxy endpoint. The push will be forwarded directly to the remote repository without any policy checks.
  3. Payload: Push a commit containing a secret (e.g., an AWS key) or a malicious script.

Example Command:

git push http://vulnerable-gitproxy:8080/repo.git main

Blue Team

  1. Detection: Monitor GitProxy logs for push events that do not have corresponding plugin execution logs.
  2. Mitigation: Immediately upgrade to version 1.19.2.
  3. Forensics: Review the remote repository for any unauthorized commits. Check for secrets or unexpected code changes.

Indicators of Compromise (IOCs)

  • Log Entry: A push event in GitProxy logs without preceding plugin execution entries.
  • Network Traffic: Direct push requests to the remote endpoint that bypass the GitProxy policy engine.
  • Repository Anomalies: Commits that do not follow the usual pattern (e.g., missing commit message format, unexpected authors).

Detection Engineering

YARA Rule

rule Detect_GitProxy_Bypass_Logs {
    meta:
        description = "Detects GitProxy logs indicating a push bypassed policy checks"
        author = "Valters IT"
        date = "2025-01-01"
        reference = "CVE-2025-54583"
    strings:
        $log1 = "push request received" nocase
        $log2 = "plugin execution skipped" nocase
        $log3 = "forwarding push to remote" nocase
    condition:
        all of ($log1, $log2, $log3)
}

Sigma Rule

title: GitProxy Policy Bypass Detection
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects when GitProxy logs indicate a push bypassed policy checks
author: Valters IT
date: 2025-01-01
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-54583
logsource:
    product: gitproxy
    service: application
detection:
    selection:
        EventID: 1001
        Message|contains|all:
            - 'push request received'
            - 'plugin execution skipped'
            - 'forwarding push to remote'
    condition: selection
falsepositives:
    - Unknown
level: critical

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"GitProxy Policy Bypass Attempt"; flow:to_server; content:"POST"; http_method; content:"/git-receive-pack"; http_uri; content:"GitProxy"; http_user_agent; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Upgrade GitProxy to version 1.19.2 or later.
  2. Workaround: If upgrading is not possible, restrict network access to the GitProxy instance to only trusted users and networks.
  3. Verification: After patching, verify that all plugins are executing correctly by reviewing logs for each push event.
  4. Audit: Review all repositories that were accessed through the vulnerable GitProxy instance for any unauthorized changes.

Valters IT
DevSecOps & Cyber Threat Intelligence Expert

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-54583/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.