Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2023-53166— power: supply: bq25890: Fix external_power_changed race

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于bq25890_charger_external_power_changed函数中未正确处理电源状态变化,可能导致空指针取消引用。

AI Predicted 6.5 Difficulty: Hard EPSS 0.11% · P1

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux eab25b4f93aa771728127705eb4b235a3b5aad94< 72c28207c19c2c46fab8ae994aff25e197fb2949 affected
eab25b4f93aa771728127705eb4b235a3b5aad94< 9d20fa1982c35697f3f8c4ae0f12791691ae5958 affected
eab25b4f93aa771728127705eb4b235a3b5aad94< 029a443b9b6424170f00f6dd5b7682e682cce92e affected
5.18 affected
< 5.18 unaffected
6.1.31≤ 6.1.* unaffected
6.3.5≤ 6.3.* unaffected
6.4≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2023-53166

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
power: supply: bq25890: Fix external_power_changed race
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: power: supply: bq25890: Fix external_power_changed race bq25890_charger_external_power_changed() dereferences bq->charger, which gets sets in bq25890_power_supply_init() like this: bq->charger = devm_power_supply_register(bq->dev, &bq->desc, &psy_cfg); As soon as devm_power_supply_register() has called device_add() the external_power_changed callback can get called. So there is a window where bq25890_charger_external_power_changed() may get called while bq->charger has not been set yet leading to a NULL pointer dereference. This race hits during boot sometimes on a Lenovo Yoga Book 1 yb1-x90f when the cht_wcove_pwrsrc (extcon) power_supply is done with detecting the connected charger-type which happens to exactly hit the small window: BUG: kernel NULL pointer dereference, address: 0000000000000018 <snip> RIP: 0010:__power_supply_is_supplied_by+0xb/0xb0 <snip> Call Trace: <TASK> __power_supply_get_supplier_property+0x19/0x50 class_for_each_device+0xb1/0xe0 power_supply_get_property_from_supplier+0x2e/0x50 bq25890_charger_external_power_changed+0x38/0x1b0 [bq25890_charger] __power_supply_changed_work+0x30/0x40 class_for_each_device+0xb1/0xe0 power_supply_changed_work+0x5f/0xe0 <snip> Fixing this is easy. The external_power_changed callback gets passed the power_supply which will eventually get stored in bq->charger, so bq25890_charger_external_power_changed() can simply directly use the passed in psy argument which is always valid.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于bq25890_charger_external_power_changed函数中未正确处理电源状态变化,可能导致空指针取消引用。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux eab25b4f93aa771728127705eb4b235a3b5aad94 ~ 72c28207c19c2c46fab8ae994aff25e197fb2949 -
Linux Linux 5.18 -

II. Public POCs for CVE-2023-53166

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-53166

请登录查看更多情报信息。

Same Patch Batch · Linux · 2025-09-15 · 210 CVEs total

CVE-2022-50235 9.8 CRITICAL NFSD: Protect against send buffer overflow in NFSv2 READDIR
CVE-2022-50335 9.8 CRITICAL 9p: set req refcount to zero to avoid uninitialized usage
CVE-2023-53192 9.8 CRITICAL vxlan: Fix nexthop hash size
CVE-2023-53253 8.8 HIGH HID: nvidia-shield: Reference hid_device devm allocation of input_dev name
CVE-2023-53226 8.8 HIGH wifi: mwifiex: Fix OOB and integer underflow when rx packets
CVE-2022-50241 8.8 HIGH NFSD: fix use-after-free on source server when doing inter-server copy
CVE-2023-53194 8.4 HIGH fs/ntfs3: Add length check in indx_get_root
CVE-2023-53213 8.1 HIGH wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies()
CVE-2023-53186 8.1 HIGH skbuff: Fix a race between coalescing and releasing SKBs
CVE-2022-50303 7.8 HIGH drm/amdkfd: Fix double release compute pasid
CVE-2023-53254 7.8 HIGH cacheinfo: Fix shared_cpu_map to handle shared caches at different levels
CVE-2023-53170 7.8 HIGH net: dsa: Removed unneeded of_node_put in felix_parse_ports_node
CVE-2023-53252 7.8 HIGH Bluetooth: use RCU for hci_conn_params and iterate safely in hci_sync
CVE-2023-53176 7.8 HIGH serial: 8250: Reinit port->pm on port specific driver unbind
CVE-2023-53178 7.8 HIGH mm: fix zswap writeback race condition
CVE-2023-53179 7.8 HIGH netfilter: ipset: add the missing IP_SET_HASH_WITH_NET0 macro for ip_set_hash_netportnet.c
CVE-2023-53184 7.8 HIGH arm64/sme: Set new vector length before reallocating
CVE-2022-50315 7.8 HIGH ata: ahci: Match EM_MAX_SLOTS with SATA_PMP_MAX_PORTS
CVE-2023-53189 7.8 HIGH ipv6/addrconf: fix a potential refcount underflow for idev
CVE-2023-53216 7.8 HIGH arm64: efi: Make efi_rt_lock a raw_spinlock

Showing top 20 of 210 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2023-53166

No comments yet


Leave a comment