CVE-2025-8110 Google Chronicle · YARA-L

Detect Gogs Path Traversal Vulnerability (CVE-2025-8110) in Google Chronicle

Detects exploitation attempts targeting CVE-2025-8110, a path traversal vulnerability (CWE-22) in Gogs self-hosted Git service. Attackers can craft malicious HTTP requests containing directory traversal sequences to read arbitrary files outside the intended web root, potentially exposing sensitive configuration files, SSH keys, or repository data. This vulnerability is listed in the CISA KEV catalog indicating active exploitation in the wild.

MITRE ATT&CK

Tactic
Initial Access Credential Access Collection

YARA-L Detection Query

Google Chronicle (YARA-L)
yaral
rule gogs_path_traversal_cve_2025_8110 {
  meta:
    author = "df00tech Detection Engineering"
    description = "Detects path traversal exploitation attempts against Gogs (CVE-2025-8110)"
    severity = "CRITICAL"
    priority = "HIGH"
    reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-8110"

  events:
    $e.metadata.event_type = "NETWORK_HTTP"
    $e.network.http.method != ""
    (
      re.regex($e.network.http.request_url, `(\.\./|%2e%2e%2f|%2e%2e/|\.%2e/|%252e%252e|%2e%2e%5c)`) or
      re.regex($e.target.url, `(\.\./|%2e%2e%2f|%2e%2e/|\.%2e/|%252e%252e)`)
    )
    (
      strings.contains($e.network.http.request_url, "app.ini") or
      strings.contains($e.network.http.request_url, "/etc/passwd") or
      strings.contains($e.network.http.request_url, "/etc/shadow") or
      strings.contains($e.network.http.request_url, "id_rsa") or
      strings.contains($e.network.http.request_url, ".ssh") or
      strings.contains($e.network.http.request_url, "conf/app.ini")
    )
    $e.principal.ip = $src_ip

  match:
    $src_ip over 5m

  outcome:
    $risk_score = max(85)
    $event_count = count_distinct($e.network.http.request_url)
    $target_host = array_distinct($e.target.hostname)

  condition:
    #e >= 1
}
critical severity high confidence

Chronicle YARA-L rule detecting Gogs path traversal attempts by monitoring HTTP events for directory traversal sequences combined with Gogs-specific sensitive file targets in the request URL.

Data Sources

Chronicle HTTP network eventsWeb proxy UDM eventsCloud load balancer logs

Required Tables

NETWORK_HTTP UDM events

False Positives & Tuning

  • Security scanning tools integrated with Chronicle that test for traversal vulnerabilities
  • Legitimate file path references in Gogs API calls that contain dot sequences
  • Chronicle ingestion pipeline normalization artifacts causing URL encoding mismatches
  • Git operations via HTTP that include encoded path separators in repository paths

Other platforms for CVE-2025-8110


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Basic Gogs Path Traversal - Read app.ini

    Expected signal: HTTP GET requests to Gogs port (3000) with ../ and %2e%2e sequences in URI visible in access logs; 200 response with app.ini content if vulnerable, 400/403/404 if patched or WAF blocks

  2. Test 2Gogs Path Traversal - SSH Key Extraction

    Expected signal: HTTP requests with mixed encoding traversal patterns (%2f for /) targeting .ssh and id_rsa paths; response codes and body sizes indicate exploitation success or failure

  3. Test 3Automated Gogs Traversal Scan with Multiple Encoding Variants

    Expected signal: Burst of HTTP requests from single source IP within seconds, each containing different encoding variants of traversal sequences; some requests may return 200 with file content if instance is vulnerable

Unlock Pro Content

Get the full detection package for CVE-2025-8110 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections