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

CVE-2025-12276

CVE-2025-12276 Information Disclosure in Learnhouse
📅 PUBLISHED: 2025-10-27 13:02 UTC 🔄 UPDATED: 2026-09-23 20:32 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.38%
👁️
0.38% probability
9.4× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1552
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
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
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-12276 is an information disclosure vulnerability in the LearnHouse platform (up to commit 98dfad76aad70711a8113f6c1fdabfccf10509ca). The flaw resides in the Image Handler component, allowing an unauthenticated remote attacker to access sensitive information. The exploit is publicly available, and the vendor has not responded to disclosure attempts. The product uses a rolling release model, making version tracking difficult. No patch or official fix exists at this time.

⚡ 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

LearnHouse is a self-hosted learning management system. The vulnerability is in the application’s own image handling code, not in a third-party package. However, because the vendor is unresponsive, users must rely on manual mitigation or forking the repository. No NPM, PyPI, Go, or Ruby package is directly affected.

CVSS Breakdown & Threat Level

  • CVSS Score: 4.3 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: Low
  • Integrity Impact: None
  • Availability Impact: None

The low EPSS score (0.0%) suggests limited active exploitation, but the public exploit increases risk.

Deep Dive & Mechanics

The vulnerability is in the Image Handler component of LearnHouse. The handler does not properly validate or sanitize image file paths or metadata, allowing an attacker to request arbitrary files from the server. By manipulating image parameters (e.g., path traversal or direct file read), an attacker can retrieve sensitive files such as configuration files, database credentials, or user data.

The rolling release model means the exact vulnerable version is unknown, but any deployment before the commit 98dfad76aad70711a8113f6c1fdabfccf10509ca is affected.

Vulnerable vs. Patched Code

No patched code is available. The vulnerable code likely resembles:

# Vulnerable example (pseudocode)
def serve_image(request):
    path = request.GET.get('path')
    # No validation
    return open(path, 'rb').read()

A patched version would include:

# Patched example (pseudocode)
import os
ALLOWED_DIR = '/var/www/learnhouse/images/'

def serve_image(request):
    path = request.GET.get('path')
    full_path = os.path.normpath(os.path.join(ALLOWED_DIR, path))
    if not full_path.startswith(ALLOWED_DIR):
        return "Forbidden", 403
    return open(full_path, 'rb').read()

Exploitation & Lab Setup

Red Team

  1. Setup: Deploy a vulnerable LearnHouse instance (commit before 98dfad76).
  2. Exploit: Use a simple HTTP request to traverse directories:
    curl "http://target/upload?path=../../../etc/passwd"
    
  3. Extract: Retrieve sensitive files like .env, config.php, or database dumps.

Blue Team

  1. Detection: Monitor for unusual file path requests (e.g., ../, %2e%2e/).
  2. Mitigation: Implement a Web Application Firewall (WAF) rule to block path traversal patterns.
  3. Harden: Restrict web server permissions and disable directory listing.

Indicators of Compromise (IOCs)

  • Network: HTTP requests containing ../ or %2e%2e in image handler endpoints.
  • File: Unauthorized access to /etc/passwd, .env, or config.php.
  • Logs: Web server logs showing 200 responses to path traversal attempts.

Detection Engineering

YARA Rule

rule CVE_2025_12276_ImageHandler {
    meta:
        description = "Detects path traversal attempts in LearnHouse image handler"
        author = "Valters IT"
        date = "2025-04-10"
    strings:
        $path_traversal = /\.\.\// nocase
        $encoded_traversal = /%2e%2e%2f/ nocase
    condition:
        any of them
}

Sigma Rule

title: LearnHouse Image Handler Path Traversal
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects path traversal attempts targeting LearnHouse image handler
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'GET'
        cs-uri-stem|contains: '/upload'
        cs-uri-query|contains: 
            - '..'
            - '%2e%2e'
    condition: selection
falsepositives:
    - Legitimate use of dots in filenames
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-12276 LearnHouse Image Handler Path Traversal"; flow:to_server,established; content:"GET"; http_method; content:"/upload"; http_uri; content:"../"; http_uri; sid:1000001; rev:1;)

Remediation & Mitigation

  • Immediate: Block path traversal patterns in WAF or reverse proxy.
  • Short-term: Fork the LearnHouse repository and apply input validation to the image handler.
  • Long-term: Monitor for vendor response or switch to an alternative LMS.
  • No patch available – rely on compensating controls.

Valters IT
DevSecOps & Cyber Threat Intelligence

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-12276/ · 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.