CVE-2025-65503

5.5 MEDIUM

📋 TL;DR

A use-after-free vulnerability in Redboltz async_mqtt 10.2.5 allows local users to cause denial of service by triggering SSL initialization failures, leading to incorrect destruction order between io_context and endpoint objects. This affects systems running the vulnerable async_mqtt library version. The vulnerability requires local access to exploit.

💻 Affected Systems

Products:
  • Redboltz async_mqtt
Versions: 10.2.5
Operating Systems: All platforms running async_mqtt
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability triggers during SSL initialization failure scenarios.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service crash and denial of service for MQTT functionality, potentially disrupting dependent applications.

🟠

Likely Case

Local denial of service affecting MQTT operations when SSL initialization fails under specific conditions.

🟢

If Mitigated

Minimal impact with proper access controls preventing local exploitation.

🌐 Internet-Facing: LOW - Requires local access, not remotely exploitable.
🏢 Internal Only: MEDIUM - Local users could disrupt MQTT services on affected systems.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires local access and ability to trigger SSL initialization failures.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in versions after 10.2.5

Vendor Advisory: https://github.com/redboltz/async_mqtt/pull/437

Restart Required: Yes

Instructions:

1. Update async_mqtt to latest version. 2. Rebuild applications using the library. 3. Restart affected services.

🔧 Temporary Workarounds

Restrict local access

all

Limit local user access to systems running vulnerable async_mqtt

SSL configuration hardening

all

Ensure SSL/TLS configuration is properly set up to prevent initialization failures

🧯 If You Can't Patch

  • Implement strict access controls to prevent local users from triggering SSL failures
  • Monitor for service crashes and implement automatic restart mechanisms

🔍 How to Verify

Check if Vulnerable:

Check async_mqtt version: grep -r 'async_mqtt' in build files or check package manager

Check Version:

Check build configuration or package manager for async_mqtt version

Verify Fix Applied:

Verify async_mqtt version is newer than 10.2.5 and check for presence of fix from PR #437

📡 Detection & Monitoring

Log Indicators:

  • Unexpected service crashes
  • SSL initialization failure messages
  • Use-after-free error messages

Network Indicators:

  • MQTT service unavailability
  • Connection failures to MQTT broker

SIEM Query:

Search for 'async_mqtt crash' OR 'SSL initialization failed' in application logs

🔗 References

📤 Share & Export