In the Linux kernel, the following vulnerability has been resolved:
xfs: fix finding a last resort AG in xfsfilestreampick_ag
When the main loop in xfsfilestreampickag fails to find a suitable AG it tries to just pick the online AG. But the loop for that uses args->pag as loop iterator while the later code expects pag to be set. Fix this by reusing the maxpag case for this last resort, and also add a check for impossible case of no AG just to make sure that the uninitialized pag doesn't even escape in theory.
[ { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@77ddc732416b017180893cbb2356e9f0a414c575", "signature_version": "v1", "target": { "file": "fs/xfs/xfs_filestream.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "340056084141005801350271313133816716759", "18376262572052105429191041128441118091", "185981440980895096460491869031397304892", "318713672779121681502904229751909759680", "290694736401525181540711576928221049223", "81961401635193410493699681686376066862", "266707935754093988987378376681533466851", "332976315476639507864899670567644582564", "112393359179349942650570842785302901878", "185787230137476911852531572886086024519", "171101908507181890692643687086006851496", "43650561287677734650297020794205398697", "92684244397562463573394863282876841048", "256698302087383359130527359972296925458", "223301898765925154454708412332252428412", "32950076336899248813185774897840624292", "317836018210072090660968254804597524432", "149207988687782084548328269078923776679", "139481221675322114176021667507436465187", "293746232138857681297403396688413400430", "337967573397201803859414130291261982779", "317076040201327740445314556380088441129", "41321027034866710091511797257979281969", "272383638223951611085122683287879845125", "242838752578982367752534537851577678679", "222050831877600488434879779561598743119" ] }, "id": "CVE-2024-50216-2067effd" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a023408925acd64db5c8980373fcb3e28ec6fd29", "signature_version": "v1", "target": { "file": "fs/xfs/xfs_trace.h" }, "digest": { "threshold": 0.9, "line_hashes": [ "92211861096334765070092355784631187947", "50221127829421167687863270820041566371", "1936052394550363761771705760263347391", "18813015942730090453803685226709284100", "34222727690285360719577406727331975024", "168058244560305265286451855808815903893", "311799111824023811959036974331464575357", "53284620249515180308754332427049679086", "214394060528176355985246462384098987036", "64852927262398203967840388851632293358", "329800771525851581170848200743893512458", "150074207758266380584547118988918416201", "56979908844833326406497376151580105672", "252161342773557853696390367686274080297", "111271597299869506137398963171600231235", "115138116825014109464128513675371092542" ] }, "id": "CVE-2024-50216-2cacec89" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@77ddc732416b017180893cbb2356e9f0a414c575", "signature_version": "v1", "target": { "file": "fs/xfs/xfs_trace.h" }, "digest": { "threshold": 0.9, "line_hashes": [ "92211861096334765070092355784631187947", "50221127829421167687863270820041566371", "1936052394550363761771705760263347391", "18813015942730090453803685226709284100", "34222727690285360719577406727331975024", "168058244560305265286451855808815903893", "311799111824023811959036974331464575357", "53284620249515180308754332427049679086", "214394060528176355985246462384098987036", "64852927262398203967840388851632293358", "329800771525851581170848200743893512458", "150074207758266380584547118988918416201", "56979908844833326406497376151580105672", "252161342773557853696390367686274080297", "111271597299869506137398963171600231235", "115138116825014109464128513675371092542" ] }, "id": "CVE-2024-50216-4c32a449" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@dc60992ce76fbc2f71c2674f435ff6bde2108028", "signature_version": "v1", "target": { "file": "fs/xfs/xfs_trace.h" }, "digest": { "threshold": 0.9, "line_hashes": [ "92211861096334765070092355784631187947", "50221127829421167687863270820041566371", "1936052394550363761771705760263347391", "18813015942730090453803685226709284100", "34222727690285360719577406727331975024", "168058244560305265286451855808815903893", "311799111824023811959036974331464575357", "53284620249515180308754332427049679086", "214394060528176355985246462384098987036", "64852927262398203967840388851632293358", "329800771525851581170848200743893512458", "150074207758266380584547118988918416201", "56979908844833326406497376151580105672", "252161342773557853696390367686274080297", "111271597299869506137398963171600231235", "115138116825014109464128513675371092542" ] }, "id": "CVE-2024-50216-7148ffdc" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@dc60992ce76fbc2f71c2674f435ff6bde2108028", "signature_version": "v1", "target": { "file": "fs/xfs/xfs_filestream.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "340056084141005801350271313133816716759", "18376262572052105429191041128441118091", "185981440980895096460491869031397304892", "318713672779121681502904229751909759680", "290694736401525181540711576928221049223", "81961401635193410493699681686376066862", "266707935754093988987378376681533466851", "332976315476639507864899670567644582564", "112393359179349942650570842785302901878", "185787230137476911852531572886086024519", "171101908507181890692643687086006851496", "43650561287677734650297020794205398697", "92684244397562463573394863282876841048", "256698302087383359130527359972296925458", "223301898765925154454708412332252428412", "32950076336899248813185774897840624292", "317836018210072090660968254804597524432", "149207988687782084548328269078923776679", "139481221675322114176021667507436465187", "293746232138857681297403396688413400430", "337967573397201803859414130291261982779", "317076040201327740445314556380088441129", "41321027034866710091511797257979281969", "272383638223951611085122683287879845125", "242838752578982367752534537851577678679", "222050831877600488434879779561598743119" ] }, "id": "CVE-2024-50216-7a73f8be" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a023408925acd64db5c8980373fcb3e28ec6fd29", "signature_version": "v1", "target": { "file": "fs/xfs/xfs_filestream.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "340056084141005801350271313133816716759", "18376262572052105429191041128441118091", "185981440980895096460491869031397304892", "318713672779121681502904229751909759680", "290694736401525181540711576928221049223", "81961401635193410493699681686376066862", "266707935754093988987378376681533466851", "332976315476639507864899670567644582564", "112393359179349942650570842785302901878", "185787230137476911852531572886086024519", "171101908507181890692643687086006851496", "43650561287677734650297020794205398697", "92684244397562463573394863282876841048", "256698302087383359130527359972296925458", "223301898765925154454708412332252428412", "32950076336899248813185774897840624292", "317836018210072090660968254804597524432", "149207988687782084548328269078923776679", "139481221675322114176021667507436465187", "293746232138857681297403396688413400430", "337967573397201803859414130291261982779", "317076040201327740445314556380088441129", "41321027034866710091511797257979281969", "272383638223951611085122683287879845125", "242838752578982367752534537851577678679", "222050831877600488434879779561598743119" ] }, "id": "CVE-2024-50216-820c6662" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@77ddc732416b017180893cbb2356e9f0a414c575", "signature_version": "v1", "target": { "function": "xfs_filestream_pick_ag", "file": "fs/xfs/xfs_filestream.c" }, "digest": { "function_hash": "293159043835671743137837455045038346853", "length": 1507.0 }, "id": "CVE-2024-50216-a2adf596" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a023408925acd64db5c8980373fcb3e28ec6fd29", "signature_version": "v1", "target": { "function": "xfs_filestream_pick_ag", "file": "fs/xfs/xfs_filestream.c" }, "digest": { "function_hash": "293159043835671743137837455045038346853", "length": 1507.0 }, "id": "CVE-2024-50216-ad30e8e6" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@dc60992ce76fbc2f71c2674f435ff6bde2108028", "signature_version": "v1", "target": { "function": "xfs_filestream_pick_ag", "file": "fs/xfs/xfs_filestream.c" }, "digest": { "function_hash": "293159043835671743137837455045038346853", "length": 1507.0 }, "id": "CVE-2024-50216-b8c39aa5" } ]