CVE-2026-98200 in Linuxالمعلومات

الملخص

بحسب VulDB • 06/10/2026

في نواة لينكس، تم إصلاح الثغرة التالية:

hwmon: (hp-wmi-sensors) تصحيح استخدام بعد التحرير (use-after-free) في دالة fungible_show()

يتم استبدال nsensor->current_state ديناميكيًا مع تغير حالة المستشعر. تقوم الدالة update_numeric_sensor_from_wobj() بذلك عن طريق تحرير السلسلة القديمة وتثبيت سلسلة جديدة:

if (strcmp(trimmed, nsensor->current_state)) {
new_string = hp_wmi_strdup(dev, trimmed); if (new_string) {
devm_kfree(dev, nsensor->current_state); nsensor->current_state = new_string; } }

تُستدعى هذه الدالة فقط من داخل hp_wmi_update_info() بينما يكون قفل state->lock مُحتفظًا به، وبالتالي فإن عملية التحرير والاستبدال نفسها مؤازرة بشكل صحيح ضد التحديثات المتزامنة.

ومع ذلك، تقرأ fungible_show() نفس المؤشر بعد أن تم بالفعل إسقاط القفل:

err = hp_wmi_update_info(state, info); if (err) return err;

switch (prop) {
... case HP_WMI_PROPERTY_CURRENT_STATE: seq_printf(seqf, "%s\n", nsensor->current_state); break;

تأخذ الدالة hp_wmi_update_info() قفل state->lock داخليًا وتحرره قبل الإرجاع، لذا فإنه عند وصول fungible_show() إلى مرحلة فك تشريح (dereference) لـ nsensor->current_state في seq_printf()، لا يكون أي قفل مُحتفظًا به. يمكن أن يحدث سباق (race condition) بين عمليتين تقرأان إدخال debugfs لحالة المستشعر الحالية في أوقات متداخلة (أو قراءة واحدة بينما تحفز عملية أخرى لنفس المستشعر تحديثًا): قد تكون جزء من طباعة السلسلة في seq_printf() لخيوط معينة جارياً في اللحظة التي يقوم فيها استدعاء خيط آخر لـ update_numeric_sensor_from_wobj() بتحريرها باستخدام devm_kfree() وتثبيت مؤشر جديد، مما يتسبب في قراءة استخدام بعد التحرير (use-after-free).

خذ قفل state->lock حول القراءة في fungible_show() أيضًا، بحيث لا يمكن أن يعمل بشكل متزامن مع عملية التحرير والاستبدال في update_numeric_sensor_from_wobj().

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

مسؤول

Linux

حجز

25/09/2026

إفشاء

06/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-414024

EPSS

0.00175

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!