CVE-2024-40500

8.6 HIGH

📋 TL;DR

A Cross-Site Scripting (XSS) vulnerability in i-librarian v5.11.0 and earlier allows a local attacker to execute arbitrary JavaScript code via the search function in the import component. This affects users of i-librarian library management software who have not applied security updates. The vulnerability enables client-side code execution in victims' browsers.

💻 Affected Systems

Products:
  • i-librarian
Versions: v5.11.0 and earlier
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability is in the import component's search function, which is accessible to users with import permissions.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker could steal session cookies, perform actions as authenticated users, redirect to malicious sites, or install malware via drive-by downloads.

🟠

Likely Case

Session hijacking, credential theft, or defacement of the application interface through injected scripts.

🟢

If Mitigated

With proper input validation and output encoding, the attack would fail to execute malicious scripts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires local access to the application, but XSS payloads are simple to craft and execute.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v5.11.1 or later

Vendor Advisory: https://github.com/mkucej/i-librarian/releases

Restart Required: No

Instructions:

1. Backup your i-librarian installation and database. 2. Download the latest version from the official GitHub repository. 3. Replace the existing files with the updated version. 4. Verify the import component's search function no longer accepts unescaped input.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement server-side input validation and output encoding for the search parameter in the import component.

Content Security Policy (CSP)

all

Deploy a strict CSP header to mitigate the impact of XSS by restricting script execution sources.

Add 'Content-Security-Policy: default-src 'self'; script-src 'self';' to web server configuration

🧯 If You Can't Patch

  • Restrict access to the import component to trusted users only.
  • Monitor and log all search queries in the import component for suspicious patterns.

🔍 How to Verify

Check if Vulnerable:

Test the import component's search function by injecting a simple XSS payload like <script>alert('XSS')</script> and check if it executes.

Check Version:

Check the version in the i-librarian admin panel or review the CHANGELOG.md file in the installation directory.

Verify Fix Applied:

After patching, repeat the XSS test to confirm the payload is properly sanitized and does not execute.

📡 Detection & Monitoring

Log Indicators:

  • Unusual search queries containing script tags or JavaScript code in import logs.
  • Multiple failed import attempts with malformed input.

Network Indicators:

  • HTTP requests to the import component with suspicious parameters containing script tags or encoded payloads.

SIEM Query:

source="i-librarian" AND (url="*import*" AND param="*search*" AND (value="*<script>*" OR value="*javascript:*"))

🔗 References

📤 Share & Export