In the Linux kernel, the following vulnerability has been resolved:
ocfs2: fix crash when mount with quota enabled
There is a reported crash when mounting ocfs2 with quota enabled.
RIP: 0010:ocfs2qinfolockresinit+0x44/0x50 [ocfs2] Call Trace: ocfs2localreadinfo+0xb9/0x6f0 [ocfs2] dquotloadquotasb+0x216/0x470 dquotloadquotainode+0x85/0x100 ocfs2enablequotas+0xa0/0x1c0 [ocfs2] ocfs2fillsuper.cold+0xc8/0x1bf [ocfs2] mountbdev+0x185/0x1b0 legacygettree+0x27/0x40 vfsgettree+0x25/0xb0 pathmount+0x465/0xac0 _x64sysmount+0x103/0x140
It is caused by when initializing dqigqlock, the corresponding dqitype and dqi_sb are not properly initialized.
This issue is introduced by commit 6c85c2c72819, which wants to avoid accessing uninitialized variables in error cases. So make global quota info properly initialized.
[
{
"id": "CVE-2022-49274-0cea2d8e",
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 2258.0,
"function_hash": "76085373866515557798827368159275791586"
},
"target": {
"function": "ocfs2_local_read_info",
"file": "fs/ocfs2/quota_local.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eda31f77317647b9fbf889779ee1fb6907651865",
"deprecated": false
},
{
"id": "CVE-2022-49274-19a3bd5f",
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"line_hashes": [
"329840176862260797734312178808728686873",
"338259490252556236949578346906124091520",
"268683900320854827695521143534176358450",
"46520210490840964630491822268427246824",
"334925699901506599862190586546732498416",
"235340907913446615488772417041327511618",
"153704732022704782821070367234281954114",
"248593799449024584036420051409329610411",
"21924831934455261910956640197078035089",
"90893565522818494515500895631592245935",
"301081149168384419179098275062702314910",
"179788383686226963526022563735392542031",
"270524895612317475588807348307923384397",
"115164328033071649713408106484293743752",
"174379390365980289535960460335433784068",
"138910782303007800168038640775903017610",
"196977723764028710839869886397210586404",
"276245336513843733385619242028264955576",
"271611006328908476513906203428339235744",
"45211821966475237136831987483408193528",
"138099477605506100449503020130293078502",
"230536559273637323212713474854925255773",
"300277685413380110061261594881246575462",
"281822677410092733949481423667677594887",
"13863012756218383549983254490856508747",
"80679190811845912671331306584380165174",
"268791353955385828288051145931268277878",
"288702030366201730393257183805076605197"
],
"threshold": 0.9
},
"target": {
"file": "fs/ocfs2/quota_global.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@01931e1c4e3de5d777253acae64c0e8fd071a1dd",
"deprecated": false
},
{
"id": "CVE-2022-49274-1e1236ab",
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"line_hashes": [
"161095714987642033522308503741876469406",
"127259148067087325280899270425848109318",
"129481920247143887245648662556312362065",
"19511226123846373189100599557902467770",
"1765015327815867194019875825022233055"
],
"threshold": 0.9
},
"target": {
"file": "fs/ocfs2/quota_local.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7c5312fdb1dcfdc1951b018669af88d5d6420b31",
"deprecated": false
},
{
"id": "CVE-2022-49274-4fe918aa",
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 2258.0,
"function_hash": "76085373866515557798827368159275791586"
},
"target": {
"function": "ocfs2_local_read_info",
"file": "fs/ocfs2/quota_local.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@de19433423c7bedabbd4f9a25f7dbc62c5e78921",
"deprecated": false
},
{
"id": "CVE-2022-49274-62c1324c",
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"line_hashes": [
"161095714987642033522308503741876469406",
"127259148067087325280899270425848109318",
"129481920247143887245648662556312362065",
"19511226123846373189100599557902467770",
"1765015327815867194019875825022233055"
],
"threshold": 0.9
},
"target": {
"file": "fs/ocfs2/quota_local.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@01931e1c4e3de5d777253acae64c0e8fd071a1dd",
"deprecated": false
},
{
"id": "CVE-2022-49274-821fb3fb",
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"line_hashes": [
"161095714987642033522308503741876469406",
"127259148067087325280899270425848109318",
"129481920247143887245648662556312362065",
"19511226123846373189100599557902467770",
"1765015327815867194019875825022233055"
],
"threshold": 0.9
},
"target": {
"file": "fs/ocfs2/quota_local.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@de19433423c7bedabbd4f9a25f7dbc62c5e78921",
"deprecated": false
},
{
"id": "CVE-2022-49274-846a5eef",
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 2093.0,
"function_hash": "141469270556022073215170185144799506165"
},
"target": {
"function": "ocfs2_global_read_info",
"file": "fs/ocfs2/quota_global.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7c5312fdb1dcfdc1951b018669af88d5d6420b31",
"deprecated": false
},
{
"id": "CVE-2022-49274-8cec5dda",
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"line_hashes": [
"329840176862260797734312178808728686873",
"338259490252556236949578346906124091520",
"268683900320854827695521143534176358450",
"46520210490840964630491822268427246824",
"334925699901506599862190586546732498416",
"235340907913446615488772417041327511618",
"153704732022704782821070367234281954114",
"248593799449024584036420051409329610411",
"21924831934455261910956640197078035089",
"90893565522818494515500895631592245935",
"301081149168384419179098275062702314910",
"179788383686226963526022563735392542031",
"270524895612317475588807348307923384397",
"115164328033071649713408106484293743752",
"174379390365980289535960460335433784068",
"138910782303007800168038640775903017610",
"196977723764028710839869886397210586404",
"276245336513843733385619242028264955576",
"271611006328908476513906203428339235744",
"45211821966475237136831987483408193528",
"138099477605506100449503020130293078502",
"230536559273637323212713474854925255773",
"300277685413380110061261594881246575462",
"281822677410092733949481423667677594887",
"13863012756218383549983254490856508747",
"80679190811845912671331306584380165174",
"268791353955385828288051145931268277878",
"288702030366201730393257183805076605197"
],
"threshold": 0.9
},
"target": {
"file": "fs/ocfs2/quota_global.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@de19433423c7bedabbd4f9a25f7dbc62c5e78921",
"deprecated": false
},
{
"id": "CVE-2022-49274-a644ab01",
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 2258.0,
"function_hash": "76085373866515557798827368159275791586"
},
"target": {
"function": "ocfs2_local_read_info",
"file": "fs/ocfs2/quota_local.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7c5312fdb1dcfdc1951b018669af88d5d6420b31",
"deprecated": false
},
{
"id": "CVE-2022-49274-ac6cb2d0",
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 2093.0,
"function_hash": "141469270556022073215170185144799506165"
},
"target": {
"function": "ocfs2_global_read_info",
"file": "fs/ocfs2/quota_global.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eda31f77317647b9fbf889779ee1fb6907651865",
"deprecated": false
},
{
"id": "CVE-2022-49274-b5a44255",
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"line_hashes": [
"161095714987642033522308503741876469406",
"127259148067087325280899270425848109318",
"129481920247143887245648662556312362065",
"19511226123846373189100599557902467770",
"1765015327815867194019875825022233055"
],
"threshold": 0.9
},
"target": {
"file": "fs/ocfs2/quota_local.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eda31f77317647b9fbf889779ee1fb6907651865",
"deprecated": false
},
{
"id": "CVE-2022-49274-d14783d0",
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 2093.0,
"function_hash": "141469270556022073215170185144799506165"
},
"target": {
"function": "ocfs2_global_read_info",
"file": "fs/ocfs2/quota_global.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@01931e1c4e3de5d777253acae64c0e8fd071a1dd",
"deprecated": false
},
{
"id": "CVE-2022-49274-d60d1307",
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 2258.0,
"function_hash": "76085373866515557798827368159275791586"
},
"target": {
"function": "ocfs2_local_read_info",
"file": "fs/ocfs2/quota_local.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@01931e1c4e3de5d777253acae64c0e8fd071a1dd",
"deprecated": false
},
{
"id": "CVE-2022-49274-deff192f",
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"line_hashes": [
"329840176862260797734312178808728686873",
"338259490252556236949578346906124091520",
"268683900320854827695521143534176358450",
"46520210490840964630491822268427246824",
"334925699901506599862190586546732498416",
"235340907913446615488772417041327511618",
"153704732022704782821070367234281954114",
"248593799449024584036420051409329610411",
"21924831934455261910956640197078035089",
"90893565522818494515500895631592245935",
"301081149168384419179098275062702314910",
"179788383686226963526022563735392542031",
"270524895612317475588807348307923384397",
"115164328033071649713408106484293743752",
"174379390365980289535960460335433784068",
"138910782303007800168038640775903017610",
"196977723764028710839869886397210586404",
"276245336513843733385619242028264955576",
"271611006328908476513906203428339235744",
"45211821966475237136831987483408193528",
"138099477605506100449503020130293078502",
"230536559273637323212713474854925255773",
"300277685413380110061261594881246575462",
"281822677410092733949481423667677594887",
"13863012756218383549983254490856508747",
"80679190811845912671331306584380165174",
"268791353955385828288051145931268277878",
"288702030366201730393257183805076605197"
],
"threshold": 0.9
},
"target": {
"file": "fs/ocfs2/quota_global.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eda31f77317647b9fbf889779ee1fb6907651865",
"deprecated": false
},
{
"id": "CVE-2022-49274-df8c82da",
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"line_hashes": [
"329840176862260797734312178808728686873",
"338259490252556236949578346906124091520",
"268683900320854827695521143534176358450",
"46520210490840964630491822268427246824",
"334925699901506599862190586546732498416",
"235340907913446615488772417041327511618",
"153704732022704782821070367234281954114",
"248593799449024584036420051409329610411",
"21924831934455261910956640197078035089",
"90893565522818494515500895631592245935",
"301081149168384419179098275062702314910",
"179788383686226963526022563735392542031",
"270524895612317475588807348307923384397",
"115164328033071649713408106484293743752",
"174379390365980289535960460335433784068",
"138910782303007800168038640775903017610",
"196977723764028710839869886397210586404",
"276245336513843733385619242028264955576",
"271611006328908476513906203428339235744",
"45211821966475237136831987483408193528",
"138099477605506100449503020130293078502",
"230536559273637323212713474854925255773",
"300277685413380110061261594881246575462",
"281822677410092733949481423667677594887",
"13863012756218383549983254490856508747",
"80679190811845912671331306584380165174",
"268791353955385828288051145931268277878",
"288702030366201730393257183805076605197"
],
"threshold": 0.9
},
"target": {
"file": "fs/ocfs2/quota_global.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7c5312fdb1dcfdc1951b018669af88d5d6420b31",
"deprecated": false
},
{
"id": "CVE-2022-49274-fb0cc662",
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 2093.0,
"function_hash": "141469270556022073215170185144799506165"
},
"target": {
"function": "ocfs2_global_read_info",
"file": "fs/ocfs2/quota_global.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@de19433423c7bedabbd4f9a25f7dbc62c5e78921",
"deprecated": false
}
]