CVE-2023-48949

7.5 HIGH

📋 TL;DR

A vulnerability in the box_add function of OpenLink Virtuoso OpenSource v7.2.11 allows attackers to trigger a Denial of Service (DoS) condition by executing a SELECT statement. This affects systems running vulnerable versions of the Virtuoso database server, potentially disrupting database availability.

💻 Affected Systems

Products:
  • OpenLink Virtuoso OpenSource
Versions: v7.2.11 specifically (based on CVE description)
Operating Systems: All platforms running Virtuoso
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems where Virtuoso is running and accessible to execute SQL queries.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database service disruption, making the database unavailable for all applications and users.

🟠

Likely Case

Service interruption affecting database-dependent applications, requiring restart of the Virtuoso service.

🟢

If Mitigated

Limited impact with proper network segmentation and access controls preventing unauthorized queries.

🌐 Internet-Facing: HIGH - Internet-facing Virtuoso instances are directly exposed to exploitation attempts.
🏢 Internal Only: MEDIUM - Internal instances still vulnerable to insider threats or compromised internal systems.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW - Requires ability to execute SELECT statements against the database.

Exploitation requires database access credentials or ability to execute SQL queries.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check GitHub issue #1173 for latest patched version

Vendor Advisory: https://github.com/openlink/virtuoso-opensource/issues/1173

Restart Required: Yes

Instructions:

1. Check GitHub issue #1173 for patch details. 2. Update to patched version. 3. Restart Virtuoso service.

🔧 Temporary Workarounds

Restrict Database Access

all

Limit who can execute queries against the Virtuoso database

Network Segmentation

all

Isolate Virtuoso database from untrusted networks

🧯 If You Can't Patch

  • Implement strict access controls to limit who can execute SQL queries
  • Monitor for unusual SELECT statement patterns and implement rate limiting

🔍 How to Verify

Check if Vulnerable:

Check Virtuoso version: isql -U dba -P dba 'SELECT sys_stat('st_dbms_ver');'

Check Version:

isql -U dba -P dba 'SELECT sys_stat('st_dbms_ver');'

Verify Fix Applied:

Verify version is updated beyond v7.2.11 and test SELECT statement functionality

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed SELECT queries
  • Database service crashes/restarts
  • Unusual query patterns

Network Indicators:

  • Abnormal SQL query traffic to database port
  • Repeated connection attempts

SIEM Query:

source="virtuoso.log" AND ("SELECT" OR "box_add") AND ("error" OR "crash")

🔗 References

📤 Share & Export