Skip to content
VulniPulse
Advisory severityMedium5.5Red Hat Linux

Medium [CVE-2026-63803] sync per-proto timers before freeing hdlc state

This medium-severity Red Hat Linux advisory covers CVE-2026-63803 affecting Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7.

Aggregated and source-linked by VulniPulse. Data sources, validation and limitations.

CVE-2026-63803 Source published Source updated

VulniPulse record published Record updated

CVE-2026-63803
Affected products & platforms
Red Hat LinuxLinux Kernel
Open source advisory

Get an email when Red Hat Linux Linux Kernel publishes the next one.

See Red Hat Linux Linux Kernel's last 90 days of advisories first. Then choose one product with live alerts free for life, or a free month of real-time alerts on everything with the severity, the fixed version and the vendor's link (card needed, then US$15/month; we email you before the first charge).

Alert me about Red Hat Linux Linux Kernel

Summary

In the Linux kernel, the following vulnerability has been resolved: hdlc_ppp: sync per-proto timers before freeing hdlc state Each PPP control protocol (LCP/IPCP/IPV6CP) embedded in struct ppp registers a timer via timer_setup().

That struct ppp is the hdlc->state allocation, which detach_hdlc_protocol() frees with kfree() in both teardown paths: unregister_hdlc_device() and the re-attach inside attach_hdlc_protocol(). The ppp proto never registered a.detach callback, so detach_hdlc_protocol() performs no timer synchronization before the kfree().

The only cancel, timer_delete(&proto->timer) in ppp_cp_event(), is partial (it does not wait for a running callback) and only runs on the ->CLOSED transition; ppp_stop()/ppp_close() do not sync either.

A ppp_timer callback already executing (blocked on ppp->lock) survives the kfree and then dereferences proto->state / ppp->lock in freed memory, leading to a use-after-free.

Fix this by adding a.detach helper that calls timer_shutdown_sync() on every per-proto timer. detach_hdlc_protocol() invokes proto->detach(dev) before kfree(hdlc->state), so timer_shutdown_sync() now runs on both free paths. timer_shutdown_sync() is used instead of timer_delete_sync() because the keepalive path re-arms the timer through add_timer()/mod_timer() and shutdown blocks any re-activation during teardown.

Affected versions

No affected-version range was extracted from the source record. The vendor advisory is authoritative. Check it before change work.

Official advisory · medium-confidence parse· fetched 8 days ago·verify at source

Fixed versions

No fixed release is recorded yet. That does not prove no patch exists. Confirm against the vendor advisory.

Official advisory · medium-confidence parse· fetched 8 days ago·verify at source

Mitigation

The source record does not include mitigation steps. That does not mean no fix exists. Read the vendor advisory below for the authoritative guidance.

Official advisory · medium-confidence parse· fetched 8 days ago·verify at source

All Red Hat Linux advisories

iPhone and Android apps · New on the App Store

Monitor future Red Hat Linux CVEs from your phone.

Choose a whole vendor or a precise platform, then receive matching security advisories by phone notification, email, or both. Coverage follows 34 official vendor sources and 160+ reviewed platform categories.

Discussion(0)

No comments yet. Share field notes, upgrade gotchas, or questions — verify against the vendor advisory before acting on community advice.

Sign in to join the discussion.