CVE-2019-15878

7.8 HIGH

📋 TL;DR

This vulnerability allows an unprivileged local user to trigger a use-after-free condition in FreeBSD's SCTP implementation when an application attempts to update an SCTP-AUTH shared key. This could lead to system crashes or potential privilege escalation. Only FreeBSD systems with SCTP enabled and running affected versions are vulnerable.

💻 Affected Systems

Products:
  • FreeBSD
Versions: FreeBSD 12.1-STABLE before r352509, 11.3-STABLE before r352509, 11.3-RELEASE before p9
Operating Systems: FreeBSD
Default Config Vulnerable: ✅ No
Notes: Only vulnerable if SCTP is enabled and being used by applications. SCTP is not enabled by default in most FreeBSD installations.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Local privilege escalation to root, system crash, or remote code execution if combined with other vulnerabilities.

🟠

Likely Case

System crash (kernel panic) or denial of service, potentially allowing limited privilege escalation.

🟢

If Mitigated

Minimal impact if SCTP is disabled or systems are patched; isolated crashes if exploited.

🌐 Internet-Facing: LOW - SCTP is primarily used in specialized network applications, not typically exposed to the internet.
🏢 Internal Only: MEDIUM - Local attackers could exploit this, but requires SCTP to be enabled and used by applications.

🎯 Exploit Status

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

Requires local access and knowledge of SCTP operations. No public exploit code has been disclosed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: FreeBSD 12.1-STABLE r352509+, 11.3-STABLE r352509+, 11.3-RELEASE p9+

Vendor Advisory: https://security.FreeBSD.org/advisories/FreeBSD-SA-20:14.sctp.asc

Restart Required: Yes

Instructions:

1. Update FreeBSD using 'freebsd-update fetch' and 'freebsd-update install' for RELEASE versions. 2. For STABLE versions, update source and rebuild kernel. 3. Reboot the system after patching.

🔧 Temporary Workarounds

Disable SCTP kernel module

all

Prevents SCTP from being loaded, eliminating the vulnerability if SCTP is not required.

echo 'sctp_load="NO"' >> /boot/loader.conf
reboot

Unload SCTP kernel module

all

Immediately unloads SCTP module without reboot (temporary workaround).

kldunload sctp

🧯 If You Can't Patch

  • Disable SCTP kernel module via /boot/loader.conf and reboot.
  • Restrict local user access to systems where SCTP is required.

🔍 How to Verify

Check if Vulnerable:

Check FreeBSD version with 'uname -a' and compare against affected versions. Check if SCTP is loaded with 'kldstat | grep sctp'.

Check Version:

uname -a

Verify Fix Applied:

Verify version is patched with 'uname -a' showing r352509+ or p9+. Confirm SCTP module is still loaded if required.

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic logs in /var/log/messages
  • SCTP-related crash dumps
  • Unexpected system reboots

Network Indicators:

  • Unusual SCTP traffic patterns if exploited remotely (unlikely)

SIEM Query:

source="freebsd" AND ("kernel panic" OR "sctp" AND "crash")

🔗 References

📤 Share & Export