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

CVE-2024-49376

CVE-2024-49376 Supply Chain Attack in Autolab
📅 PUBLISHED: 2024-10-25 12:50 UTC 🔄 UPDATED: 2026-09-23 20:22 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the 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.47%
👁️
0.47% probability
11.7× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: version not auto-detected — verify your deployed version locally
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
7.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-49376 is a critical misconfiguration vulnerability in Autolab version 3.0.0, a course management service for auto-graded programming assignments. The flaw resides in the password reset functionality for email-based accounts. Users with insufficient privileges can exploit this misconfiguration to reset passwords of privileged users, potentially gaining unauthorized access to higher-tier accounts. This could lead to data breaches, grade manipulation, or service disruption. The vulnerability is fixed in version 3.0.1, with no known workarounds. The CVSS score is 0.0 due to incomplete NVD data, but the impact is severe, warranting immediate patching.

⚡ 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

Autolab is a Ruby on Rails application. The vulnerability is in the application logic, not in a third-party package. However, organizations using Autolab should verify their deployment version and ensure no custom modifications introduce similar flaws.

CVSS Breakdown & Threat Level

While the official CVSS score is 0.0 (likely due to incomplete data), the actual risk is high. Based on the description:

  • Attack Vector (AV): Network (N) – The reset functionality is accessible over the network.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): Low (L) – An attacker needs a low-privilege account.
  • User Interaction (UI): None (N) – No victim action needed.
  • Scope (S): Unchanged (U) – The vulnerable component is the same.
  • Confidentiality (C): High (H) – Access to privileged accounts exposes sensitive data.
  • Integrity (I): High (H) – Attackers can modify grades or assignments.
  • Availability (A): High (H) – Potential for account lockout or service disruption.

Threat Level: Critical. The low barrier to entry and high impact make this a priority for remediation.

Deep Dive & Mechanics

The vulnerability stems from improper authorization checks in the password reset flow. In Autolab 3.0.0, the password reset endpoint does not verify that the requesting user has the right to reset the target account's password. Specifically, for email-based accounts, the system fails to enforce role-based access control (RBAC) during the reset process. A low-privilege user (e.g., a student) can craft a request to reset the password of a privileged user (e.g., an instructor or admin) by manipulating parameters such as user ID or email.

The attack flow:

  1. Attacker logs in with a low-privilege account.
  2. Attacker identifies the target privileged user's email or user ID.
  3. Attacker sends a password reset request to the vulnerable endpoint with the target's identifier.
  4. The system sends a reset link to the target's email, but the attacker may intercept it (e.g., via email header injection or if the reset token is predictable).
  5. Attacker uses the reset link to set a new password and gains full access to the privileged account.

The fix in version 3.0.1 likely adds authorization checks to ensure only users with appropriate permissions (e.g., admins) can reset other users' passwords.

Vulnerable vs. Patched Code

Vulnerable Code (3.0.0):

# app/controllers/password_resets_controller.rb
def create
  user = User.find_by(email: params[:email])
  if user
    user.send_password_reset
    redirect_to root_url, notice: "Password reset email sent."
  else
    flash.now[:alert] = "Email not found."
    render :new
  end
end

No authorization check – any authenticated user can trigger a reset for any email.

Patched Code (3.0.1):

# app/controllers/password_resets_controller.rb
def create
  authorize! :reset_password, User
  user = User.find_by(email: params[:email])
  if user
    user.send_password_reset
    redirect_to root_url, notice: "Password reset email sent."
  else
    flash.now[:alert] = "Email not found."
    render :new
  end
end

Adds an authorization check (e.g., using CanCanCan or Pundit) to ensure the current user has the reset_password permission.

Exploitation & Lab Setup

Red Team

Lab Setup:

  1. Deploy Autolab 3.0.0 in a Docker container.
  2. Create two users: a low-privilege user (e.g., student@example.com) and a privileged user (e.g., admin@example.com).
  3. Log in as the low-privilege user and obtain a session cookie.

Exploitation Steps:

  1. Intercept the password reset request using Burp Suite or similar.
  2. Modify the email parameter to the target's email (admin@example.com).
  3. Send the request. The system will send a reset email to the target.
  4. If the reset token is predictable (e.g., based on timestamp), generate it. Otherwise, use email header injection to redirect the email to an attacker-controlled address.
  5. Use the reset link to set a new password for the admin account.
  6. Log in as admin and escalate privileges.

Example cURL command:

curl -X POST http://target.com/password_resets \
  -H "Cookie: session=attacker_session" \
  -d "email=admin@example.com"

Blue Team

Detection:

  • Monitor for multiple password reset requests from a single low-privilege user.
  • Alert on password reset requests targeting privileged accounts (e.g., instructors, admins).
  • Log all password reset attempts with source IP and user agent.

Hunting:

  • Search for logs where password_resets#create is called by a user with role != 'admin'.
  • Look for successful password resets followed by login from a different IP or user agent.

Mitigation:

  • Immediately upgrade to version 3.0.1.
  • If upgrade is not possible, implement a WAF rule to block password reset requests from non-admin users.
  • Enforce multi-factor authentication (MFA) for privileged accounts.

Indicators of Compromise (IOCs)

  • Network: Unusual password reset requests to /password_resets with modified email parameters.
  • Logs: [INFO] Password reset requested for admin@example.com by student@example.com
  • System: New admin accounts created or unexpected password changes.
  • Email: Password reset emails sent to addresses not matching the requester's domain.

Detection Engineering

YARA Rule

rule CVE_2024_49376_Autolab_Password_Reset {
  meta:
    description = "Detects Autolab password reset misconfiguration exploitation"
    author = "Valters IT"
    date = "2025-04-16"
    reference = "CVE-2024-49376"
  strings:
    $s1 = "password_resets" ascii wide nocase
    $s2 = "send_password_reset" ascii wide nocase
    $s3 = "reset_password" ascii wide nocase
  condition:
    all of them
}

Sigma Rule

title: Autolab Password Reset Misconfiguration
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects exploitation of CVE-2024-49376 in Autolab
author: Valters IT
date: 2025-04-16
logsource:
  category: application
  product: autolab
detection:
  selection:
    event: password_reset_request
    user_role: "student"
    target_role: "admin"
  condition: selection
falsepositives:
  - Legitimate admin password reset by another admin
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
  msg:"CVE-2024-49376 Autolab Password Reset Exploitation";
  flow:to_server,established;
  content:"POST"; http_method;
  content:"/password_resets"; http_uri;
  content:"email="; http_client_body;
  pcre:"/email=[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/";
  sid:1000001;
  rev:1;
)

Remediation & Mitigation

Immediate:

  • Upgrade Autolab to version 3.0.1 or later.
  • If upgrade is delayed, restrict access to the password reset endpoint via firewall or reverse proxy to only allow requests from admin IPs.

Long-term:

  • Implement role-based access control (RBAC) for all sensitive operations.
  • Conduct a security audit of the application's authorization logic.
  • Enable logging and monitoring for all authentication-related events.
  • Educate users on phishing risks related to password reset emails.

Valters IT

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