In the Linux kernel, the following vulnerability has been resolved:
md/raid10: fix leak of 'r10bio->remaining' for recovery
raid10syncrequest() will add 'r10bio->remaining' for both rdev and replacement rdev. However, if the read io fails, recoveryrequestwrite() returns without issuing the write io, in this case, endsyncrequest() is only called once and 'remaining' is leaked, cause an io hang.
Fix the problem by decreasing 'remaining' according to if 'bio' and 'repl_bio' is valid.
[
{
"signature_type": "Function",
"digest": {
"function_hash": "208262473578209369938748531867819757654",
"length": 755.0
},
"target": {
"file": "drivers/md/raid10.c",
"function": "recovery_request_write"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@11141630f03efffdfe260b3582b2d93d38171b97",
"id": "CVE-2023-53299-0af33cf6",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"221638762931918181268795908489272758649",
"145954784942754038120785500699815906086",
"335841079479150223959829509614730387339",
"286040149102888006076455688733741161560",
"124654002017877876020328827700572378004",
"243009856327909503891194470315085476814",
"302889944171504849623733443578375737700",
"157916335937828677270234306240274020882",
"289715764636449938701380967067840407255",
"283213764569193259505562674444830467732",
"199574705673165970451979302647580130273",
"104241080884610495017161962997495207723",
"274013772993585849658660300194531597048",
"144037961059075761639287638197340562957"
]
},
"target": {
"file": "drivers/md/raid10.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8c5d5d7ffd1e76734811b8ea5417cf0432b9952c",
"id": "CVE-2023-53299-4b8ec064",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "208262473578209369938748531867819757654",
"length": 755.0
},
"target": {
"file": "drivers/md/raid10.c",
"function": "recovery_request_write"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8d09065802c53cc938d162b62f6c4150b392c90e",
"id": "CVE-2023-53299-4e6fbf07",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"221638762931918181268795908489272758649",
"145954784942754038120785500699815906086",
"335841079479150223959829509614730387339",
"286040149102888006076455688733741161560",
"124654002017877876020328827700572378004",
"243009856327909503891194470315085476814",
"302889944171504849623733443578375737700",
"157916335937828677270234306240274020882",
"289715764636449938701380967067840407255",
"283213764569193259505562674444830467732",
"199574705673165970451979302647580130273",
"104241080884610495017161962997495207723",
"274013772993585849658660300194531597048",
"144037961059075761639287638197340562957"
]
},
"target": {
"file": "drivers/md/raid10.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@26208a7cffd0c7cbf14237ccd20c7270b3ffeb7e",
"id": "CVE-2023-53299-54b10c4e",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "208262473578209369938748531867819757654",
"length": 755.0
},
"target": {
"file": "drivers/md/raid10.c",
"function": "recovery_request_write"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cb827ed2bb34480dc102146d3a1f89fdbcafc028",
"id": "CVE-2023-53299-5d69ee02",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"221638762931918181268795908489272758649",
"145954784942754038120785500699815906086",
"335841079479150223959829509614730387339",
"286040149102888006076455688733741161560",
"124654002017877876020328827700572378004",
"243009856327909503891194470315085476814",
"302889944171504849623733443578375737700",
"157916335937828677270234306240274020882",
"289715764636449938701380967067840407255",
"283213764569193259505562674444830467732",
"199574705673165970451979302647580130273",
"104241080884610495017161962997495207723",
"274013772993585849658660300194531597048",
"144037961059075761639287638197340562957"
]
},
"target": {
"file": "drivers/md/raid10.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1d2c6c6e37fe5de11fd01a82badf03390e12df7a",
"id": "CVE-2023-53299-5f6e432f",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"221638762931918181268795908489272758649",
"145954784942754038120785500699815906086",
"335841079479150223959829509614730387339",
"286040149102888006076455688733741161560",
"124654002017877876020328827700572378004",
"243009856327909503891194470315085476814",
"302889944171504849623733443578375737700",
"157916335937828677270234306240274020882",
"289715764636449938701380967067840407255",
"283213764569193259505562674444830467732",
"199574705673165970451979302647580130273",
"104241080884610495017161962997495207723",
"274013772993585849658660300194531597048",
"144037961059075761639287638197340562957"
]
},
"target": {
"file": "drivers/md/raid10.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8d09065802c53cc938d162b62f6c4150b392c90e",
"id": "CVE-2023-53299-79596134",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "208262473578209369938748531867819757654",
"length": 755.0
},
"target": {
"file": "drivers/md/raid10.c",
"function": "recovery_request_write"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4f82e7e07cdaf2947d71968e3d6b73370a217093",
"id": "CVE-2023-53299-88905e3d",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "208262473578209369938748531867819757654",
"length": 755.0
},
"target": {
"file": "drivers/md/raid10.c",
"function": "recovery_request_write"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1d2c6c6e37fe5de11fd01a82badf03390e12df7a",
"id": "CVE-2023-53299-a6ed3268",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"221638762931918181268795908489272758649",
"145954784942754038120785500699815906086",
"335841079479150223959829509614730387339",
"286040149102888006076455688733741161560",
"124654002017877876020328827700572378004",
"243009856327909503891194470315085476814",
"302889944171504849623733443578375737700",
"157916335937828677270234306240274020882",
"289715764636449938701380967067840407255",
"283213764569193259505562674444830467732",
"199574705673165970451979302647580130273",
"104241080884610495017161962997495207723",
"274013772993585849658660300194531597048",
"144037961059075761639287638197340562957"
]
},
"target": {
"file": "drivers/md/raid10.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1697fb124c6d6c5237e9cbd78890310154738084",
"id": "CVE-2023-53299-be1241d3",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"221638762931918181268795908489272758649",
"145954784942754038120785500699815906086",
"335841079479150223959829509614730387339",
"286040149102888006076455688733741161560",
"124654002017877876020328827700572378004",
"243009856327909503891194470315085476814",
"302889944171504849623733443578375737700",
"157916335937828677270234306240274020882",
"289715764636449938701380967067840407255",
"283213764569193259505562674444830467732",
"199574705673165970451979302647580130273",
"104241080884610495017161962997495207723",
"274013772993585849658660300194531597048",
"144037961059075761639287638197340562957"
]
},
"target": {
"file": "drivers/md/raid10.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4f82e7e07cdaf2947d71968e3d6b73370a217093",
"id": "CVE-2023-53299-cb7eaabc",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"221638762931918181268795908489272758649",
"145954784942754038120785500699815906086",
"335841079479150223959829509614730387339",
"286040149102888006076455688733741161560",
"124654002017877876020328827700572378004",
"243009856327909503891194470315085476814",
"302889944171504849623733443578375737700",
"157916335937828677270234306240274020882",
"289715764636449938701380967067840407255",
"283213764569193259505562674444830467732",
"199574705673165970451979302647580130273",
"104241080884610495017161962997495207723",
"274013772993585849658660300194531597048",
"144037961059075761639287638197340562957"
]
},
"target": {
"file": "drivers/md/raid10.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cb827ed2bb34480dc102146d3a1f89fdbcafc028",
"id": "CVE-2023-53299-cef4f738",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"221638762931918181268795908489272758649",
"145954784942754038120785500699815906086",
"335841079479150223959829509614730387339",
"286040149102888006076455688733741161560",
"124654002017877876020328827700572378004",
"243009856327909503891194470315085476814",
"302889944171504849623733443578375737700",
"157916335937828677270234306240274020882",
"289715764636449938701380967067840407255",
"283213764569193259505562674444830467732",
"199574705673165970451979302647580130273",
"104241080884610495017161962997495207723",
"274013772993585849658660300194531597048",
"144037961059075761639287638197340562957"
]
},
"target": {
"file": "drivers/md/raid10.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@11141630f03efffdfe260b3582b2d93d38171b97",
"id": "CVE-2023-53299-d6c62343",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "208262473578209369938748531867819757654",
"length": 755.0
},
"target": {
"file": "drivers/md/raid10.c",
"function": "recovery_request_write"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3481dec5ecbbbbe44ab23e22c2b14bd65c644ec6",
"id": "CVE-2023-53299-d773c9a6",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "208262473578209369938748531867819757654",
"length": 755.0
},
"target": {
"file": "drivers/md/raid10.c",
"function": "recovery_request_write"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8c5d5d7ffd1e76734811b8ea5417cf0432b9952c",
"id": "CVE-2023-53299-ddfa31d4",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"221638762931918181268795908489272758649",
"145954784942754038120785500699815906086",
"335841079479150223959829509614730387339",
"286040149102888006076455688733741161560",
"124654002017877876020328827700572378004",
"243009856327909503891194470315085476814",
"302889944171504849623733443578375737700",
"157916335937828677270234306240274020882",
"289715764636449938701380967067840407255",
"283213764569193259505562674444830467732",
"199574705673165970451979302647580130273",
"104241080884610495017161962997495207723",
"274013772993585849658660300194531597048",
"144037961059075761639287638197340562957"
]
},
"target": {
"file": "drivers/md/raid10.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3481dec5ecbbbbe44ab23e22c2b14bd65c644ec6",
"id": "CVE-2023-53299-e18c762b",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "208262473578209369938748531867819757654",
"length": 755.0
},
"target": {
"file": "drivers/md/raid10.c",
"function": "recovery_request_write"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@26208a7cffd0c7cbf14237ccd20c7270b3ffeb7e",
"id": "CVE-2023-53299-e41e9e4b",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "208262473578209369938748531867819757654",
"length": 755.0
},
"target": {
"file": "drivers/md/raid10.c",
"function": "recovery_request_write"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1697fb124c6d6c5237e9cbd78890310154738084",
"id": "CVE-2023-53299-ee6583e7",
"deprecated": false,
"signature_version": "v1"
}
]