CVE-2023-34598

9.8 CRITICAL

📋 TL;DR

CVE-2023-34598 is a Local File Inclusion vulnerability in Gibbon v25.0.0 that allows attackers to read sensitive files from the server's installation directory. This affects all Gibbon v25.0.0 installations, potentially exposing configuration files, credentials, and other sensitive data.

💻 Affected Systems

Products:
  • Gibbon
Versions: v25.0.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All Gibbon v25.0.0 installations are vulnerable by default. No special configuration required.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could read database credentials, configuration files, and other sensitive system files, leading to complete system compromise and data exfiltration.

🟠

Likely Case

Attackers will read configuration files containing database credentials and other sensitive information, enabling further attacks against the application and database.

🟢

If Mitigated

With proper file permissions and web server configuration, impact is limited to readable files within the web root, though sensitive configuration may still be exposed.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Simple path traversal techniques can be used to include local files. No authentication required.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v25.0.1

Vendor Advisory: https://github.com/GibbonEdu/core/releases/tag/v25.0.1

Restart Required: No

Instructions:

1. Backup your Gibbon installation and database. 2. Download v25.0.1 from the official repository. 3. Replace the vulnerable files with patched versions. 4. Verify the fix by testing the LFI vulnerability.

🔧 Temporary Workarounds

Web Server File Restriction

all

Configure web server to restrict access to sensitive directories and files

# For Apache: Add to .htaccess
<FilesMatch "\.(php|inc|conf|ini|log|sql)$">
    Order allow,deny
    Deny from all
</FilesMatch>
# For Nginx: Add to server block
location ~* \.(php|inc|conf|ini|log|sql)$ {
    deny all;
}

🧯 If You Can't Patch

  • Implement strict input validation and sanitization for all file inclusion parameters
  • Move sensitive configuration files outside the web root directory

🔍 How to Verify

Check if Vulnerable:

Test if you can access sensitive files like config.php by manipulating file inclusion parameters in the application

Check Version:

Check the version.php file in your Gibbon installation or run: php -r "include 'version.php'; echo $version;"

Verify Fix Applied:

After patching, attempt the same LFI techniques that previously worked - they should now be blocked or sanitized

📡 Detection & Monitoring

Log Indicators:

  • Unusual file access patterns in web server logs
  • Requests containing path traversal sequences (../, ..\, %2e%2e%2f)
  • Access attempts to sensitive files like config.php, database.ini

Network Indicators:

  • HTTP requests with suspicious file inclusion parameters
  • Abnormal response sizes when requesting certain endpoints

SIEM Query:

web_access_logs | where url contains ".." or url contains "%2e%2e" or url contains "config" or url contains "database"

🔗 References

📤 Share & Export