CVE-2024-29877

7.1 HIGH

📋 TL;DR

This is a Cross-Site Scripting (XSS) vulnerability in Sentrifugo 3.2 that allows attackers to inject malicious scripts via the 'expense_category_name' parameter in the expense categories edit page. When exploited, it enables session hijacking by tricking victims into clicking specially crafted URLs. Organizations using Sentrifugo 3.2 for HR management are affected.

💻 Affected Systems

Products:
  • Sentrifugo
Versions: 3.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the expense categories module specifically at /sentrifugo/index.php/expenses/expensecategories/edit

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete account takeover, data theft, and potential privilege escalation leading to full system compromise.

🟠

Likely Case

Session hijacking allowing unauthorized access to HR data and system functionality.

🟢

If Mitigated

Limited impact with proper input validation and output encoding in place.

🌐 Internet-Facing: HIGH - The vulnerability is exploitable via crafted URLs that can be sent to users.
🏢 Internal Only: MEDIUM - Still exploitable by internal attackers or through phishing campaigns.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Requires user interaction (clicking malicious link) but uses standard XSS techniques.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check vendor advisory for latest patched version

Vendor Advisory: https://www.incibe.es/en/incibe-cert/notices/aviso/multiple-vulnerabilities-sentrifugo

Restart Required: No

Instructions:

1. Review vendor advisory 2. Apply latest Sentrifugo security patches 3. Validate input sanitization in expense_category_name parameter

🔧 Temporary Workarounds

Input Validation Filter

all

Implement server-side input validation for expense_category_name parameter

Add input sanitization in /sentrifugo/index.php/expenses/expensecategories/edit controller

Content Security Policy

all

Implement CSP headers to restrict script execution

Add 'Content-Security-Policy' header with script-src directives

🧯 If You Can't Patch

  • Implement WAF rules to block XSS payloads in expense_category_name parameter
  • Restrict access to expense categories module to authorized users only

🔍 How to Verify

Check if Vulnerable:

Test if expense_category_name parameter accepts and executes script tags like <script>alert('XSS')</script>

Check Version:

Check Sentrifugo version in application configuration or admin panel

Verify Fix Applied:

Verify input is properly sanitized and script tags are not executed

📡 Detection & Monitoring

Log Indicators:

  • Unusual expense_category_name parameter values containing script tags or JavaScript

Network Indicators:

  • Requests to /sentrifugo/index.php/expenses/expensecategories/edit with suspicious parameters

SIEM Query:

source="web_logs" AND uri="/sentrifugo/index.php/expenses/expensecategories/edit" AND (param="expense_category_name" AND value MATCHES "<script|javascript:")

🔗 References

📤 Share & Export