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.
[
{
"id": "CVE-2024-50216-2067effd",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "fs/xfs/xfs_filestream.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@77ddc732416b017180893cbb2356e9f0a414c575",
"digest": {
"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"
],
"threshold": 0.9
},
"signature_type": "Line"
},
{
"id": "CVE-2024-50216-2cacec89",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "fs/xfs/xfs_trace.h"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a023408925acd64db5c8980373fcb3e28ec6fd29",
"digest": {
"line_hashes": [
"92211861096334765070092355784631187947",
"50221127829421167687863270820041566371",
"1936052394550363761771705760263347391",
"18813015942730090453803685226709284100",
"34222727690285360719577406727331975024",
"168058244560305265286451855808815903893",
"311799111824023811959036974331464575357",
"53284620249515180308754332427049679086",
"214394060528176355985246462384098987036",
"64852927262398203967840388851632293358",
"329800771525851581170848200743893512458",
"150074207758266380584547118988918416201",
"56979908844833326406497376151580105672",
"252161342773557853696390367686274080297",
"111271597299869506137398963171600231235",
"115138116825014109464128513675371092542"
],
"threshold": 0.9
},
"signature_type": "Line"
},
{
"id": "CVE-2024-50216-4c32a449",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "fs/xfs/xfs_trace.h"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@77ddc732416b017180893cbb2356e9f0a414c575",
"digest": {
"line_hashes": [
"92211861096334765070092355784631187947",
"50221127829421167687863270820041566371",
"1936052394550363761771705760263347391",
"18813015942730090453803685226709284100",
"34222727690285360719577406727331975024",
"168058244560305265286451855808815903893",
"311799111824023811959036974331464575357",
"53284620249515180308754332427049679086",
"214394060528176355985246462384098987036",
"64852927262398203967840388851632293358",
"329800771525851581170848200743893512458",
"150074207758266380584547118988918416201",
"56979908844833326406497376151580105672",
"252161342773557853696390367686274080297",
"111271597299869506137398963171600231235",
"115138116825014109464128513675371092542"
],
"threshold": 0.9
},
"signature_type": "Line"
},
{
"id": "CVE-2024-50216-7148ffdc",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "fs/xfs/xfs_trace.h"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@dc60992ce76fbc2f71c2674f435ff6bde2108028",
"digest": {
"line_hashes": [
"92211861096334765070092355784631187947",
"50221127829421167687863270820041566371",
"1936052394550363761771705760263347391",
"18813015942730090453803685226709284100",
"34222727690285360719577406727331975024",
"168058244560305265286451855808815903893",
"311799111824023811959036974331464575357",
"53284620249515180308754332427049679086",
"214394060528176355985246462384098987036",
"64852927262398203967840388851632293358",
"329800771525851581170848200743893512458",
"150074207758266380584547118988918416201",
"56979908844833326406497376151580105672",
"252161342773557853696390367686274080297",
"111271597299869506137398963171600231235",
"115138116825014109464128513675371092542"
],
"threshold": 0.9
},
"signature_type": "Line"
},
{
"id": "CVE-2024-50216-7a73f8be",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "fs/xfs/xfs_filestream.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@dc60992ce76fbc2f71c2674f435ff6bde2108028",
"digest": {
"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"
],
"threshold": 0.9
},
"signature_type": "Line"
},
{
"id": "CVE-2024-50216-820c6662",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "fs/xfs/xfs_filestream.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a023408925acd64db5c8980373fcb3e28ec6fd29",
"digest": {
"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"
],
"threshold": 0.9
},
"signature_type": "Line"
},
{
"id": "CVE-2024-50216-a2adf596",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "fs/xfs/xfs_filestream.c",
"function": "xfs_filestream_pick_ag"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@77ddc732416b017180893cbb2356e9f0a414c575",
"digest": {
"length": 1507.0,
"function_hash": "293159043835671743137837455045038346853"
},
"signature_type": "Function"
},
{
"id": "CVE-2024-50216-ad30e8e6",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "fs/xfs/xfs_filestream.c",
"function": "xfs_filestream_pick_ag"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a023408925acd64db5c8980373fcb3e28ec6fd29",
"digest": {
"length": 1507.0,
"function_hash": "293159043835671743137837455045038346853"
},
"signature_type": "Function"
},
{
"id": "CVE-2024-50216-b8c39aa5",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "fs/xfs/xfs_filestream.c",
"function": "xfs_filestream_pick_ag"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@dc60992ce76fbc2f71c2674f435ff6bde2108028",
"digest": {
"length": 1507.0,
"function_hash": "293159043835671743137837455045038346853"
},
"signature_type": "Function"
}
]