In the Linux kernel, the following vulnerability has been resolved:
ceph: blocklist the kclient when receiving corrupted snap trace
When received corrupted snap trace we don't know what exactly has happened in MDS side. And we shouldn't continue IOs and metadatas access to MDS, which may corrupt or get incorrect contents.
This patch will just block all the further IO/MDS requests immediately and then evict the kclient itself.
The reason why we still need to evict the kclient just after blocking all the further IOs is that the MDS could revoke the caps faster.
{ "vanir_signatures": [ { "signature_type": "Function", "target": { "file": "fs/ceph/caps.c", "function": "ceph_handle_caps" }, "signature_version": "v1", "digest": { "length": 4918.0, "function_hash": "60717807649563344599822678316873214058" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-00536bbb" }, { "signature_type": "Function", "target": { "file": "fs/ceph/snap.c", "function": "ceph_handle_snap" }, "signature_version": "v1", "digest": { "length": 2643.0, "function_hash": "50856857161785526378940817427840855495" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-04363ff8" }, { "signature_type": "Function", "target": { "file": "fs/ceph/addr.c", "function": "writepage_nounlock" }, "signature_version": "v1", "digest": { "length": 2882.0, "function_hash": "23036331325249306601022139881884985182" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-162545da" }, { "signature_type": "Function", "target": { "file": "fs/ceph/caps.c", "function": "ceph_handle_caps" }, "signature_version": "v1", "digest": { "length": 4918.0, "function_hash": "60717807649563344599822678316873214058" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-17b684a7" }, { "signature_type": "Line", "target": { "file": "fs/ceph/caps.c" }, "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "145860986155685154147951877601619307875", "158920961986623784035979156954673867134", "39619129694615165012080642826386148657", "178017734387416583979092337924395998019", "234496965176415307741267554369454074642", "204389873977121489640751916501221781985", "252046216739083448915840372576339575613", "69516800559727677637522140318802170885", "328097709645536600116537259521171536462", "82790020685975349536167740716850304307", "52435222746817140871674981978693568471", "315271482965557408561300152695581449694", "299536391315884059509672002153372926533", "58595254808507680200842410895718157645" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-1c3889ef" }, { "signature_type": "Function", "target": { "file": "fs/ceph/mds_client.c", "function": "__do_request" }, "signature_version": "v1", "digest": { "length": 4151.0, "function_hash": "159173685703051386785517579519769222184" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-256e5e1e" }, { "signature_type": "Function", "target": { "file": "fs/ceph/file.c", "function": "ceph_zero_partial_object" }, "signature_version": "v1", "digest": { "length": 756.0, "function_hash": "331404554437332269945542072418873827622" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-2aa5c96a" }, { "signature_type": "Line", "target": { "file": "fs/ceph/mds_client.c" }, "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "326193490764678346301703844969002685695", "286142454918220201069732834032676845225", "146411254446646335203316438158625449687", "28662785061533730270922410954945345685", "235603345031964455488274443543214452560", "244832472525779095776774974679148354809", "202648420204534435519249934730976258895", "139452021791490530991732503021523712999", "203217638375349884853157414784482308115", "47364507311906336066440646024440046889", "125927615417314898617682426981707100406", "196494248835265853014479668913195759728", "212012303033364084009168691465867903572", "239168526701702169604805687988214295563", "223929565405082962581024612079973346272", "54922613006467768089344516692943733140", "306623758875389539316253391632255629237", "290046123632323010035437288590405334666", "188642000241701920832668417167501575577", "56613048958556848871091578179069657841", "184023061193771056660907519397056602258", "307252644123066599522106992496117282165", "335702880806224456506529260463800869921", "152270275916506261011950632103771737875", "155540041362276993892466136689163358405", "121961956333464985169097385752601593016", "330777148592549429433615798405308652751", "244566841005133567473535757371871967084", "189321255365853870575094323608307553012", "209434039818178840879497023394771378790", "257623436473909959520886821332489137187" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-31bd54d5" }, { "signature_type": "Function", "target": { "file": "fs/ceph/addr.c", "function": "writepage_nounlock" }, "signature_version": "v1", "digest": { "length": 2882.0, "function_hash": "23036331325249306601022139881884985182" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-41463453" }, { "signature_type": "Function", "target": { "file": "fs/ceph/mds_client.c", "function": "register_session" }, "signature_version": "v1", "digest": { "length": 1693.0, "function_hash": "279703439064139585015274073024501245013" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-4434a96b" }, { "signature_type": "Function", "target": { "file": "fs/ceph/mds_client.c", "function": "register_session" }, "signature_version": "v1", "digest": { "length": 1693.0, "function_hash": "279703439064139585015274073024501245013" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-4cf8bc51" }, { "signature_type": "Line", "target": { "file": "fs/ceph/caps.c" }, "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "145860986155685154147951877601619307875", "158920961986623784035979156954673867134", "39619129694615165012080642826386148657", "178017734387416583979092337924395998019", "234496965176415307741267554369454074642", "204389873977121489640751916501221781985", "252046216739083448915840372576339575613", "69516800559727677637522140318802170885", "328097709645536600116537259521171536462", "82790020685975349536167740716850304307", "52435222746817140871674981978693568471", "315271482965557408561300152695581449694", "299536391315884059509672002153372926533", "58595254808507680200842410895718157645" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-679ac5f7" }, { "signature_type": "Line", "target": { "file": "fs/ceph/addr.c" }, "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "130562594254284203711069230062160057783", "125083431752687027950608803160723503868", "111262384930487224466172430338217376418", "2355839670433753862185774974178199010", "12975189525361505406821873231301744850", "127648437888556611063109474848543676", "242781593273453941378452358711193436519", "219556781438198469724812111834179769540", "243005431070164841559684930408999047906", "177138110297160608124671711929874000905", "241366834331877751186015441600642592421", "204197217755062988289969376583438583636", "207013345577931055677494306298175678040", "310590119430096409269593414162767293821", "253595792744354992252397367486081621170", "261059761114569361199484615629530352376", "173520419342855554254837802010692167837" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-67d4f574" }, { "signature_type": "Line", "target": { "file": "fs/ceph/mds_client.c" }, "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "326193490764678346301703844969002685695", "286142454918220201069732834032676845225", "146411254446646335203316438158625449687", "28662785061533730270922410954945345685", "235603345031964455488274443543214452560", "244832472525779095776774974679148354809", "202648420204534435519249934730976258895", "139452021791490530991732503021523712999", "203217638375349884853157414784482308115", "47364507311906336066440646024440046889", "125927615417314898617682426981707100406", "196494248835265853014479668913195759728", "212012303033364084009168691465867903572", "239168526701702169604805687988214295563", "223929565405082962581024612079973346272", "54922613006467768089344516692943733140", "306623758875389539316253391632255629237", "290046123632323010035437288590405334666", "188642000241701920832668417167501575577", "56613048958556848871091578179069657841", "184023061193771056660907519397056602258", "307252644123066599522106992496117282165", "335702880806224456506529260463800869921", "152270275916506261011950632103771737875", "155540041362276993892466136689163358405", "121961956333464985169097385752601593016", "330777148592549429433615798405308652751", "244566841005133567473535757371871967084", "189321255365853870575094323608307553012", "209434039818178840879497023394771378790", "257623436473909959520886821332489137187" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-78c3523b" }, { "signature_type": "Function", "target": { "file": "fs/ceph/snap.c", "function": "ceph_update_snap_trace" }, "signature_version": "v1", "digest": { "length": 2738.0, "function_hash": "257315788949886486484084794214546541324" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-79be0ae9" }, { "signature_type": "Function", "target": { "file": "fs/ceph/addr.c", "function": "ceph_uninline_data" }, "signature_version": "v1", "digest": { "length": 2878.0, "function_hash": "80829893553699484800306253512698283904" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-7da279c3" }, { "signature_type": "Line", "target": { "file": "fs/ceph/file.c" }, "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "194973082008130193583137015514044510239", "58080487349784111983611144171727319671", "50598633035688011852752393579461830828" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-8178bdac" }, { "signature_type": "Function", "target": { "file": "fs/ceph/mds_client.c", "function": "__open_session" }, "signature_version": "v1", "digest": { "length": 456.0, "function_hash": "53238654024805804517810880068644816220" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-835a8b68" }, { "signature_type": "Function", "target": { "file": "fs/ceph/mds_client.c", "function": "__open_session" }, "signature_version": "v1", "digest": { "length": 456.0, "function_hash": "53238654024805804517810880068644816220" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-8b267dae" }, { "signature_type": "Function", "target": { "file": "fs/ceph/mds_client.c", "function": "mds_peer_reset" }, "signature_version": "v1", "digest": { "length": 190.0, "function_hash": "280067340480362101898546320799270243875" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-905d654d" }, { "signature_type": "Function", "target": { "file": "fs/ceph/mds_client.c", "function": "handle_reply" }, "signature_version": "v1", "digest": { "length": 4367.0, "function_hash": "31201927509550344164901915666025796362" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-907b8d9b" }, { "signature_type": "Function", "target": { "file": "fs/ceph/addr.c", "function": "ceph_netfs_issue_read" }, "signature_version": "v1", "digest": { "length": 1400.0, "function_hash": "163854255895983316400140783147883626025" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-92b218d0" }, { "signature_type": "Line", "target": { "file": "fs/ceph/super.h" }, "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "99692577271867639627853157944323210919", "123562111419974095007281862470620687359", "140846634184097403053981916703761656913", "202448261906011406641224260809356682673" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-95b7c962" }, { "signature_type": "Line", "target": { "file": "fs/ceph/super.h" }, "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "99692577271867639627853157944323210919", "123562111419974095007281862470620687359", "140846634184097403053981916703761656913", "202448261906011406641224260809356682673" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-a5b568b5" }, { "signature_type": "Line", "target": { "file": "fs/ceph/snap.c" }, "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "41464224348268530649924645243153274573", "151329001971859755137345245084358065986", "42713133869648608281213940597584802047", "317047493700850024594988759106683329763", "186193216328931124000426895973337427040", "318384710770263877482033878514696245663", "189257096472709340590796258255413566337", "322672190464831203784589131772566490195", "239580841183599790618293186814330794804", "43876970364814944677582397805428299517", "27880406990245909881926246094683880469", "189296198917009760937553369268693426472", "167765587299253269193710602317569341453", "306630226858517164777688020840168238403", "198598582184189425788856788636508850607", "293945312380828276261434906063568364893", "61483244240701935738141521701223852473", "129912895445795957249533769060996978383", "148641100244444773278289808576977930164", "15993852899741748216106346035680109837", "101447290441895388284058151679960475409", "183435930897578182219343949087623930407", "191432676129957896946645545490475967942", "101193195742053244206309212198533153297" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-aa89623c" }, { "signature_type": "Function", "target": { "file": "fs/ceph/snap.c", "function": "ceph_update_snap_trace" }, "signature_version": "v1", "digest": { "length": 2738.0, "function_hash": "257315788949886486484084794214546541324" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-ad14be65" }, { "signature_type": "Function", "target": { "file": "fs/ceph/file.c", "function": "ceph_zero_partial_object" }, "signature_version": "v1", "digest": { "length": 756.0, "function_hash": "331404554437332269945542072418873827622" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-b6a13a1c" }, { "signature_type": "Function", "target": { "file": "fs/ceph/mds_client.c", "function": "__do_request" }, "signature_version": "v1", "digest": { "length": 4151.0, "function_hash": "159173685703051386785517579519769222184" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-b6c8768f" }, { "signature_type": "Line", "target": { "file": "fs/ceph/file.c" }, "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "194973082008130193583137015514044510239", "58080487349784111983611144171727319671", "50598633035688011852752393579461830828" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-b74007ee" }, { "signature_type": "Function", "target": { "file": "fs/ceph/mds_client.c", "function": "mds_peer_reset" }, "signature_version": "v1", "digest": { "length": 190.0, "function_hash": "280067340480362101898546320799270243875" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-b793aeec" }, { "signature_type": "Line", "target": { "file": "fs/ceph/addr.c" }, "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "130562594254284203711069230062160057783", "125083431752687027950608803160723503868", "111262384930487224466172430338217376418", "2355839670433753862185774974178199010", "12975189525361505406821873231301744850", "127648437888556611063109474848543676", "242781593273453941378452358711193436519", "219556781438198469724812111834179769540", "243005431070164841559684930408999047906", "177138110297160608124671711929874000905", "241366834331877751186015441600642592421", "204197217755062988289969376583438583636", "207013345577931055677494306298175678040", "310590119430096409269593414162767293821", "253595792744354992252397367486081621170", "261059761114569361199484615629530352376", "173520419342855554254837802010692167837" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-c1309275" }, { "signature_type": "Line", "target": { "file": "fs/ceph/snap.c" }, "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "41464224348268530649924645243153274573", "151329001971859755137345245084358065986", "42713133869648608281213940597584802047", "317047493700850024594988759106683329763", "186193216328931124000426895973337427040", "318384710770263877482033878514696245663", "189257096472709340590796258255413566337", "322672190464831203784589131772566490195", "239580841183599790618293186814330794804", "43876970364814944677582397805428299517", "27880406990245909881926246094683880469", "189296198917009760937553369268693426472", "167765587299253269193710602317569341453", "306630226858517164777688020840168238403", "198598582184189425788856788636508850607", "293945312380828276261434906063568364893", "61483244240701935738141521701223852473", "129912895445795957249533769060996978383", "148641100244444773278289808576977930164", "15993852899741748216106346035680109837", "101447290441895388284058151679960475409", "183435930897578182219343949087623930407", "191432676129957896946645545490475967942", "101193195742053244206309212198533153297" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-d3ba49e8" }, { "signature_type": "Function", "target": { "file": "fs/ceph/mds_client.c", "function": "handle_reply" }, "signature_version": "v1", "digest": { "length": 4367.0, "function_hash": "31201927509550344164901915666025796362" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-d95b7e63" }, { "signature_type": "Function", "target": { "file": "fs/ceph/addr.c", "function": "ceph_netfs_issue_read" }, "signature_version": "v1", "digest": { "length": 1400.0, "function_hash": "163854255895983316400140783147883626025" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a68e564adcaa69b0930809fb64d9d5f7d9c32ba9", "deprecated": false, "id": "CVE-2023-52732-e55cf1c2" }, { "signature_type": "Function", "target": { "file": "fs/ceph/addr.c", "function": "ceph_uninline_data" }, "signature_version": "v1", "digest": { "length": 2878.0, "function_hash": "80829893553699484800306253512698283904" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-f1c42bed" }, { "signature_type": "Function", "target": { "file": "fs/ceph/snap.c", "function": "ceph_handle_snap" }, "signature_version": "v1", "digest": { "length": 2643.0, "function_hash": "50856857161785526378940817427840855495" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c", "deprecated": false, "id": "CVE-2023-52732-f487ea23" } ] }