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

CVE-2025-11048

CVE-2025-11048 Improper Access Control in Portabilis
📅 PUBLISHED: 2025-09-26 21:32 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: T1548
👁️
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-11048 is a publicly disclosed improper authorization vulnerability in Portabilis i-Educar, a popular open-source educational management system in Brazil. The flaw resides in the /consulta-dispensas endpoint, allowing an unauthenticated remote attacker to bypass authorization checks and access sensitive data or perform unauthorized actions. With a CVSS score of 6.3 (Medium), the vulnerability is trivial to exploit due to the lack of required privileges and the public availability of exploit details. No official patch has been released, leaving all versions up to and including 2.10 exposed.

⚡ 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

This vulnerability affects the i-Educar PHP application, which is distributed as a self-hosted web application. There is no NPM, PyPI, Go, or Ruby package involved. The risk is primarily to organizations that have deployed i-Educar on their own infrastructure.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – Exploitable remotely over the network.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): None (N) – No user action required.
  • Scope (S): Unchanged (U) – The vulnerable component is the only affected component.
  • Confidentiality (C): Low (L) – Limited information disclosure.
  • Integrity (I): Low (L) – Limited ability to modify data.
  • Availability (A): Low (L) – Limited impact on service availability.

Threat Level: Medium. The exploit is public and trivial to execute, but the impact is limited to low-level confidentiality, integrity, and availability loss.

Deep Dive & Mechanics

The vulnerability is an improper authorization (CWE-285) in the /consulta-dispensas endpoint of i-Educar. The application fails to enforce proper access controls, allowing any unauthenticated user to query the endpoint. The endpoint likely returns sensitive data related to student dispensations (e.g., medical or academic exemptions) without verifying the user's identity or role.

The root cause is the absence of a middleware or access control check on the route handler for /consulta-dispensas. In a typical PHP framework (likely Laravel or similar), this would be a missing auth middleware or a missing permission check in the controller method.

Vulnerable vs. Patched Code

Since no official patch is available, the following is a hypothetical comparison based on common fixes.

Vulnerable Code (i-Educar <= 2.10):

// routes/web.php
Route::get('/consulta-dispensas', 'DispensaController@consulta');

// app/Http/Controllers/DispensaController.php
public function consulta(Request $request) {
    // No authentication or authorization check
    $dispensas = Dispensa::all();
    return response()->json($dispensas);
}

Patched Code (Hypothetical Fix):

// routes/web.php
Route::get('/consulta-dispensas', 'DispensaController@consulta')->middleware('auth');

// app/Http/Controllers/DispensaController.php
public function consulta(Request $request) {
    // Ensure user is authenticated and authorized
    if (!Auth::check() || !Auth::user()->can('view_dispensas')) {
        abort(403, 'Unauthorized');
    }
    $dispensas = Dispensa::where('user_id', Auth::id())->get();
    return response()->json($dispensas);
}

Exploitation & Lab Setup

Red Team

Exploit Description: The exploit is a simple HTTP GET request to the vulnerable endpoint. No authentication or special headers are required.

Exploit Code:

curl -X GET "http://target-educar.com/consulta-dispensas" -H "Accept: application/json"

Expected Output: A JSON array of dispensation records, potentially including sensitive student data (e.g., names, medical conditions, dates).

Lab Setup:

  1. Deploy i-Educar 2.10 using Docker or a manual LAMP stack.
  2. Ensure the application is accessible on a local network.
  3. Run the exploit command against the target.

Blue Team

Detection: Monitor for unusual access to /consulta-dispensas from unauthenticated sources. Look for spikes in 200 OK responses to this endpoint from IPs not associated with authenticated users.

Hunting Query (Splunk):

index=web sourcetype=access_combined
| search uri="/consulta-dispensas" status=200
| stats count by src_ip, user_agent
| where count > 10

Mitigation: Immediately restrict access to the endpoint via web server configuration (e.g., .htaccess or Nginx location block) until a patch is applied.

Indicators of Compromise (IOCs)

  • Network:
    • HTTP GET requests to /consulta-dispensas from external IPs.
    • Response bodies containing JSON arrays with fields like nome_aluno, tipo_dispensa, data_inicio.
  • File System:
    • Unauthorized access logs in /var/log/apache2/access.log or /var/log/nginx/access.log showing the endpoint.
  • Behavioral:
    • Multiple rapid requests to /consulta-dispensas from a single IP.

Detection Engineering

YARA Rule

rule CVE_2025_11048_iEducar_Exploit {
    meta:
        description = "Detects HTTP requests targeting the vulnerable /consulta-dispensas endpoint in i-Educar"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-11048"
    strings:
        $endpoint = "/consulta-dispensas"
        $json_response = /\[.*\"nome_aluno\".*\]/
    condition:
        $endpoint and $json_response
}

Sigma Rule

title: CVE-2025-11048 - i-Educar Unauthorized Access to /consulta-dispensas
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects unauthenticated access to the vulnerable /consulta-dispensas endpoint
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-uri-stem: "/consulta-dispensas"
        sc-status: 200
    condition: selection
falsepositives:
    - Legitimate authenticated users (rare)
level: high

Suricata Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2025-11048 - i-Educar Unauthorized Access to /consulta-dispensas";
    flow:to_server,established;
    content:"/consulta-dispensas"; http_uri;
    classtype:attempted-recon;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

  1. Immediate: Block access to /consulta-dispensas at the web server level (e.g., Apache .htaccess or Nginx location block with deny all).
  2. Short-term: Implement authentication and authorization checks in the controller method. Ensure only authenticated users with the proper role can access the endpoint.
  3. Long-term: Apply the official patch once released by Portabilis. Monitor the vendor's GitHub repository for updates.
  4. Compensating Controls: Use a Web Application Firewall (WAF) to block requests to the vulnerable endpoint from untrusted sources.

Valters IT
DevSecOps & Cyber Threat Intelligence

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