In the Linux kernel, the following vulnerability has been resolved:
ACPI: battery: Fix possible crash when unregistering a battery hook
When a battery hook returns an error when adding a new battery, then the battery hook is automatically unregistered. However the battery hook provider cannot know that, so it will later call batteryhookunregister() on the already unregistered battery hook, resulting in a crash.
Fix this by using the list head to mark already unregistered battery hooks as already being unregistered so that they can be ignored by batteryhookunregister().
[
{
"id": "CVE-2024-49955-0e3389e8",
"signature_version": "v1",
"digest": {
"length": 485.0,
"function_hash": "298929476459108050632747075901833377566"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@76959aff14a0012ad6b984ec7686d163deccdc16",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_register"
}
},
{
"id": "CVE-2024-49955-132afdc5",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"166074093526617897425520252868676041287",
"109736613263305608335920454271208559849",
"153828955911272668393466197278260245608",
"33469656782806829258606771075986605922",
"87265876478238726629485951623118231267",
"184521540112796574786645261984859951953",
"47358559205795733125994764160228964432",
"333090093769094123344201881272637133279",
"326204594557624301152261241138601726635",
"33961634400109518733704813937827829585",
"30332218701801932029682918087231705813",
"94470768781306428881906638279057497333"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@da964de4c18199e14b961b5b2e5e6570552a313c",
"target": {
"file": "drivers/acpi/battery.c"
}
},
{
"id": "CVE-2024-49955-211231a8",
"signature_version": "v1",
"digest": {
"length": 113.0,
"function_hash": "53338997046095204734738560778310362111"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9f469ef1c79dac7f9ac1518643a33703918f7e13",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_unregister"
}
},
{
"id": "CVE-2024-49955-28febdd0",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"286770505641584920437667508420383706329",
"326348463856780224850167418260610385365",
"153828955911272668393466197278260245608",
"33469656782806829258606771075986605922",
"87265876478238726629485951623118231267",
"184521540112796574786645261984859951953",
"47358559205795733125994764160228964432",
"333090093769094123344201881272637133279",
"326204594557624301152261241138601726635",
"33961634400109518733704813937827829585",
"30332218701801932029682918087231705813",
"97976860696076922961253053068349799492"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@76959aff14a0012ad6b984ec7686d163deccdc16",
"target": {
"file": "drivers/acpi/battery.c"
}
},
{
"id": "CVE-2024-49955-2f676186",
"signature_version": "v1",
"digest": {
"length": 113.0,
"function_hash": "53338997046095204734738560778310362111"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@da964de4c18199e14b961b5b2e5e6570552a313c",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_unregister"
}
},
{
"id": "CVE-2024-49955-4ed3ac4b",
"signature_version": "v1",
"digest": {
"length": 113.0,
"function_hash": "53338997046095204734738560778310362111"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ce31847f109c3a5b2abdd19d7bcaafaacfde53de",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_unregister"
}
},
{
"id": "CVE-2024-49955-5495771d",
"signature_version": "v1",
"digest": {
"length": 451.0,
"function_hash": "20635237974467226880342834721373137522"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@da964de4c18199e14b961b5b2e5e6570552a313c",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_register"
}
},
{
"id": "CVE-2024-49955-581ea518",
"signature_version": "v1",
"digest": {
"length": 451.0,
"function_hash": "20635237974467226880342834721373137522"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@07b98400cb0285a6348188aa8c5ec6a2ae0551f7",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_register"
}
},
{
"id": "CVE-2024-49955-5fba7c3e",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"166074093526617897425520252868676041287",
"109736613263305608335920454271208559849",
"153828955911272668393466197278260245608",
"33469656782806829258606771075986605922",
"87265876478238726629485951623118231267",
"184521540112796574786645261984859951953",
"47358559205795733125994764160228964432",
"333090093769094123344201881272637133279",
"326204594557624301152261241138601726635",
"33961634400109518733704813937827829585",
"30332218701801932029682918087231705813",
"94470768781306428881906638279057497333"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@76fb2cbf01571926da8ecf6876cc8cb07d3f5183",
"target": {
"file": "drivers/acpi/battery.c"
}
},
{
"id": "CVE-2024-49955-68ce943a",
"signature_version": "v1",
"digest": {
"length": 113.0,
"function_hash": "53338997046095204734738560778310362111"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@76fb2cbf01571926da8ecf6876cc8cb07d3f5183",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_unregister"
}
},
{
"id": "CVE-2024-49955-76a19fea",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"286770505641584920437667508420383706329",
"326348463856780224850167418260610385365",
"153828955911272668393466197278260245608",
"33469656782806829258606771075986605922",
"87265876478238726629485951623118231267",
"184521540112796574786645261984859951953",
"47358559205795733125994764160228964432",
"333090093769094123344201881272637133279",
"326204594557624301152261241138601726635",
"33961634400109518733704813937827829585",
"30332218701801932029682918087231705813",
"97976860696076922961253053068349799492"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9f469ef1c79dac7f9ac1518643a33703918f7e13",
"target": {
"file": "drivers/acpi/battery.c"
}
},
{
"id": "CVE-2024-49955-8ac21c69",
"signature_version": "v1",
"digest": {
"length": 113.0,
"function_hash": "53338997046095204734738560778310362111"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c47843a831e0eae007ad7e848d208e675ba4c132",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_unregister"
}
},
{
"id": "CVE-2024-49955-ae9d5ffa",
"signature_version": "v1",
"digest": {
"length": 113.0,
"function_hash": "53338997046095204734738560778310362111"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ca1fb7942a287b40659cc79551a1de54a2c2e7d5",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_unregister"
}
},
{
"id": "CVE-2024-49955-b57ed0cb",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"166074093526617897425520252868676041287",
"109736613263305608335920454271208559849",
"153828955911272668393466197278260245608",
"33469656782806829258606771075986605922",
"87265876478238726629485951623118231267",
"184521540112796574786645261984859951953",
"47358559205795733125994764160228964432",
"333090093769094123344201881272637133279",
"326204594557624301152261241138601726635",
"33961634400109518733704813937827829585",
"30332218701801932029682918087231705813",
"94470768781306428881906638279057497333"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ca1fb7942a287b40659cc79551a1de54a2c2e7d5",
"target": {
"file": "drivers/acpi/battery.c"
}
},
{
"id": "CVE-2024-49955-b712c7e4",
"signature_version": "v1",
"digest": {
"length": 113.0,
"function_hash": "53338997046095204734738560778310362111"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@76959aff14a0012ad6b984ec7686d163deccdc16",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_unregister"
}
},
{
"id": "CVE-2024-49955-c3770db7",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"166074093526617897425520252868676041287",
"109736613263305608335920454271208559849",
"153828955911272668393466197278260245608",
"33469656782806829258606771075986605922",
"87265876478238726629485951623118231267",
"184521540112796574786645261984859951953",
"47358559205795733125994764160228964432",
"333090093769094123344201881272637133279",
"326204594557624301152261241138601726635",
"33961634400109518733704813937827829585",
"30332218701801932029682918087231705813",
"94470768781306428881906638279057497333"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@07b98400cb0285a6348188aa8c5ec6a2ae0551f7",
"target": {
"file": "drivers/acpi/battery.c"
}
},
{
"id": "CVE-2024-49955-c3d4942d",
"signature_version": "v1",
"digest": {
"length": 451.0,
"function_hash": "20635237974467226880342834721373137522"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@76fb2cbf01571926da8ecf6876cc8cb07d3f5183",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_register"
}
},
{
"id": "CVE-2024-49955-caf5fdb8",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"286770505641584920437667508420383706329",
"326348463856780224850167418260610385365",
"153828955911272668393466197278260245608",
"33469656782806829258606771075986605922",
"87265876478238726629485951623118231267",
"184521540112796574786645261984859951953",
"47358559205795733125994764160228964432",
"333090093769094123344201881272637133279",
"326204594557624301152261241138601726635",
"33961634400109518733704813937827829585",
"30332218701801932029682918087231705813",
"97976860696076922961253053068349799492"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ce31847f109c3a5b2abdd19d7bcaafaacfde53de",
"target": {
"file": "drivers/acpi/battery.c"
}
},
{
"id": "CVE-2024-49955-d67c3ca1",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"166074093526617897425520252868676041287",
"109736613263305608335920454271208559849",
"153828955911272668393466197278260245608",
"33469656782806829258606771075986605922",
"87265876478238726629485951623118231267",
"184521540112796574786645261984859951953",
"47358559205795733125994764160228964432",
"333090093769094123344201881272637133279",
"326204594557624301152261241138601726635",
"33961634400109518733704813937827829585",
"30332218701801932029682918087231705813",
"94470768781306428881906638279057497333"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c47843a831e0eae007ad7e848d208e675ba4c132",
"target": {
"file": "drivers/acpi/battery.c"
}
},
{
"id": "CVE-2024-49955-dbdf405e",
"signature_version": "v1",
"digest": {
"length": 113.0,
"function_hash": "53338997046095204734738560778310362111"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@07b98400cb0285a6348188aa8c5ec6a2ae0551f7",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_unregister"
}
},
{
"id": "CVE-2024-49955-e438a164",
"signature_version": "v1",
"digest": {
"length": 485.0,
"function_hash": "298929476459108050632747075901833377566"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ce31847f109c3a5b2abdd19d7bcaafaacfde53de",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_register"
}
},
{
"id": "CVE-2024-49955-e4427557",
"signature_version": "v1",
"digest": {
"length": 451.0,
"function_hash": "20635237974467226880342834721373137522"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c47843a831e0eae007ad7e848d208e675ba4c132",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_register"
}
},
{
"id": "CVE-2024-49955-f5e1b0e7",
"signature_version": "v1",
"digest": {
"length": 451.0,
"function_hash": "20635237974467226880342834721373137522"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ca1fb7942a287b40659cc79551a1de54a2c2e7d5",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_register"
}
},
{
"id": "CVE-2024-49955-f62ea830",
"signature_version": "v1",
"digest": {
"length": 485.0,
"function_hash": "298929476459108050632747075901833377566"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9f469ef1c79dac7f9ac1518643a33703918f7e13",
"target": {
"file": "drivers/acpi/battery.c",
"function": "battery_hook_register"
}
}
]