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.
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"function": "ceph_handle_caps",
"file": "fs/ceph/caps.c"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2023-52732-00536bbb",
"signature_version": "v1",
"digest": {
"function_hash": "60717807649563344599822678316873214058",
"length": 4918.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"function": "__do_request",
"file": "fs/ceph/mds_client.c"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2023-52732-256e5e1e",
"signature_version": "v1",
"digest": {
"function_hash": "159173685703051386785517579519769222184",
"length": 4151.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"function": "writepage_nounlock",
"file": "fs/ceph/addr.c"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2023-52732-41463453",
"signature_version": "v1",
"digest": {
"function_hash": "23036331325249306601022139881884985182",
"length": 2882.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"function": "register_session",
"file": "fs/ceph/mds_client.c"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2023-52732-4434a96b",
"signature_version": "v1",
"digest": {
"function_hash": "279703439064139585015274073024501245013",
"length": 1693.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"file": "fs/ceph/caps.c"
},
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2023-52732-679ac5f7",
"signature_version": "v1",
"digest": {
"line_hashes": [
"145860986155685154147951877601619307875",
"158920961986623784035979156954673867134",
"39619129694615165012080642826386148657",
"178017734387416583979092337924395998019",
"234496965176415307741267554369454074642",
"204389873977121489640751916501221781985",
"252046216739083448915840372576339575613",
"69516800559727677637522140318802170885",
"328097709645536600116537259521171536462",
"82790020685975349536167740716850304307",
"52435222746817140871674981978693568471",
"315271482965557408561300152695581449694",
"299536391315884059509672002153372926533",
"58595254808507680200842410895718157645"
],
"threshold": 0.9
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"file": "fs/ceph/addr.c"
},
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2023-52732-67d4f574",
"signature_version": "v1",
"digest": {
"line_hashes": [
"130562594254284203711069230062160057783",
"125083431752687027950608803160723503868",
"111262384930487224466172430338217376418",
"2355839670433753862185774974178199010",
"12975189525361505406821873231301744850",
"127648437888556611063109474848543676",
"242781593273453941378452358711193436519",
"219556781438198469724812111834179769540",
"243005431070164841559684930408999047906",
"177138110297160608124671711929874000905",
"241366834331877751186015441600642592421",
"204197217755062988289969376583438583636",
"207013345577931055677494306298175678040",
"310590119430096409269593414162767293821",
"253595792744354992252397367486081621170",
"261059761114569361199484615629530352376",
"173520419342855554254837802010692167837"
],
"threshold": 0.9
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"file": "fs/ceph/mds_client.c"
},
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2023-52732-78c3523b",
"signature_version": "v1",
"digest": {
"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"
],
"threshold": 0.9
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"function": "__open_session",
"file": "fs/ceph/mds_client.c"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2023-52732-8b267dae",
"signature_version": "v1",
"digest": {
"function_hash": "53238654024805804517810880068644816220",
"length": 456.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"function": "ceph_netfs_issue_read",
"file": "fs/ceph/addr.c"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2023-52732-92b218d0",
"signature_version": "v1",
"digest": {
"function_hash": "163854255895983316400140783147883626025",
"length": 1400.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"file": "fs/ceph/super.h"
},
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2023-52732-95b7c962",
"signature_version": "v1",
"digest": {
"line_hashes": [
"99692577271867639627853157944323210919",
"123562111419974095007281862470620687359",
"140846634184097403053981916703761656913",
"202448261906011406641224260809356682673"
],
"threshold": 0.9
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"file": "fs/ceph/snap.c"
},
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2023-52732-aa89623c",
"signature_version": "v1",
"digest": {
"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"
],
"threshold": 0.9
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"function": "ceph_update_snap_trace",
"file": "fs/ceph/snap.c"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2023-52732-ad14be65",
"signature_version": "v1",
"digest": {
"function_hash": "257315788949886486484084794214546541324",
"length": 2738.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"function": "ceph_zero_partial_object",
"file": "fs/ceph/file.c"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2023-52732-b6a13a1c",
"signature_version": "v1",
"digest": {
"function_hash": "331404554437332269945542072418873827622",
"length": 756.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"file": "fs/ceph/file.c"
},
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2023-52732-b74007ee",
"signature_version": "v1",
"digest": {
"line_hashes": [
"194973082008130193583137015514044510239",
"58080487349784111983611144171727319671",
"50598633035688011852752393579461830828"
],
"threshold": 0.9
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"function": "mds_peer_reset",
"file": "fs/ceph/mds_client.c"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2023-52732-b793aeec",
"signature_version": "v1",
"digest": {
"function_hash": "280067340480362101898546320799270243875",
"length": 190.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"function": "handle_reply",
"file": "fs/ceph/mds_client.c"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2023-52732-d95b7e63",
"signature_version": "v1",
"digest": {
"function_hash": "31201927509550344164901915666025796362",
"length": 4367.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"function": "ceph_uninline_data",
"file": "fs/ceph/addr.c"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2023-52732-f1c42bed",
"signature_version": "v1",
"digest": {
"function_hash": "80829893553699484800306253512698283904",
"length": 2878.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66ec619e4591f8350f99c5269a7ce160cccc7a7c",
"target": {
"function": "ceph_handle_snap",
"file": "fs/ceph/snap.c"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2023-52732-f487ea23",
"signature_version": "v1",
"digest": {
"function_hash": "50856857161785526378940817427840855495",
"length": 2643.0
}
}
]