In the Linux kernel, the following vulnerability has been resolved:
nvmem: core: fix cleanup after devsetname()
If devsetname() fails, we leak nvmem->wpgpio as the cleanup does not put this. While a minimal fix for this would be to add the gpiodput() call, we can do better if we split deviceregister(), and use the tested nvmemrelease() cleanup code by initialising the device early, and putting the device.
This results in a slightly larger fix, but results in clear code.
Note: this patch depends on "nvmem: core: initialise nvmem->id early" and "nvmem: core: remove nvmemconfig wpgpio".
[Srini: Fixed subject line and error code handing with wp_gpio while applying.]
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/52xxx/CVE-2023-52929.json",
"cna_assigner": "Linux"
}[
{
"id": "CVE-2023-52929-12211bba",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"212917097950663216070395157754452684103",
"185117984612831177285513807167968471457",
"149393368581757793124109927543013011079",
"25979892608999360424387640144078285546",
"73391412066822882417732348502545548638",
"132819241855526797458057395986567383407",
"228696928219020392121253410625812003898",
"244736956453070173056832265081746658147",
"190387091904222266600626946534158544278",
"6931000615611508096845879891637867026",
"78332186311976940267497493388011330526",
"35433060602239993925757443108816399065",
"294505963805003807305931644833428830790",
"156342551071959517935528204263082905084",
"71703990170492499485888527114092022075",
"62998459504220190645654472976864631449",
"244859703528414376677683156233896681125",
"79970171823588287629092384127753335268",
"56114389541639526338927538652850381215",
"246320883795992871155416798199131199233",
"90628385104216657525198471894185403564",
"198397338247639110410393356718616122303",
"253765630421642579035846797530052523340",
"9811574133855865693060956486180034398",
"164925521736225333992779832503259767505",
"53981782624017504790478988128466886089",
"193336101038722169492537082280369041484",
"11935829580824697548290061403142321953",
"76655327007137724552880508568233332159"
]
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@23676ecd2eb377f7c24a6ff578b0f4c7135658b6",
"signature_type": "Line",
"target": {
"file": "drivers/nvmem/core.c"
}
},
{
"id": "CVE-2023-52929-38da98d8",
"signature_version": "v1",
"digest": {
"function_hash": "284560501403592459015428173179376536958",
"length": 3052.0
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@560181d3ace61825f4ca9dd3481d6c0ee6709fa8",
"signature_type": "Function",
"target": {
"file": "drivers/nvmem/core.c",
"function": "nvmem_register"
}
},
{
"id": "CVE-2023-52929-586449a1",
"signature_version": "v1",
"digest": {
"function_hash": "243328718407484349526073130693794877096",
"length": 2971.0
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8f9c4b2a3b132bf6698e477aba6ee194b40c75f4",
"signature_type": "Function",
"target": {
"file": "drivers/nvmem/core.c",
"function": "nvmem_register"
}
},
{
"id": "CVE-2023-52929-6ccf87d4",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"212917097950663216070395157754452684103",
"185117984612831177285513807167968471457",
"149393368581757793124109927543013011079",
"25979892608999360424387640144078285546",
"73391412066822882417732348502545548638",
"132819241855526797458057395986567383407",
"228696928219020392121253410625812003898",
"244736956453070173056832265081746658147",
"190387091904222266600626946534158544278",
"6931000615611508096845879891637867026",
"78332186311976940267497493388011330526",
"35433060602239993925757443108816399065",
"294505963805003807305931644833428830790",
"156342551071959517935528204263082905084",
"71703990170492499485888527114092022075",
"62998459504220190645654472976864631449",
"244859703528414376677683156233896681125",
"79970171823588287629092384127753335268",
"56114389541639526338927538652850381215",
"246320883795992871155416798199131199233",
"90628385104216657525198471894185403564",
"198397338247639110410393356718616122303",
"253765630421642579035846797530052523340",
"9811574133855865693060956486180034398",
"164925521736225333992779832503259767505",
"53981782624017504790478988128466886089",
"193336101038722169492537082280369041484",
"11935829580824697548290061403142321953",
"199262356514742238791246134412460083227"
]
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8f9c4b2a3b132bf6698e477aba6ee194b40c75f4",
"signature_type": "Line",
"target": {
"file": "drivers/nvmem/core.c"
}
},
{
"id": "CVE-2023-52929-89486d89",
"signature_version": "v1",
"digest": {
"function_hash": "284560501403592459015428173179376536958",
"length": 3052.0
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@39708bc8da7858de0bed9b3a88b3beb1d1e0b443",
"signature_type": "Function",
"target": {
"file": "drivers/nvmem/core.c",
"function": "nvmem_register"
}
},
{
"id": "CVE-2023-52929-c567f178",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"212917097950663216070395157754452684103",
"185117984612831177285513807167968471457",
"149393368581757793124109927543013011079",
"25979892608999360424387640144078285546",
"73391412066822882417732348502545548638",
"132819241855526797458057395986567383407",
"228696928219020392121253410625812003898",
"244736956453070173056832265081746658147",
"190387091904222266600626946534158544278",
"6931000615611508096845879891637867026",
"78332186311976940267497493388011330526",
"35433060602239993925757443108816399065",
"294505963805003807305931644833428830790",
"156342551071959517935528204263082905084",
"71703990170492499485888527114092022075",
"62998459504220190645654472976864631449",
"244859703528414376677683156233896681125",
"79970171823588287629092384127753335268",
"56114389541639526338927538652850381215",
"246320883795992871155416798199131199233",
"90628385104216657525198471894185403564",
"198397338247639110410393356718616122303",
"253765630421642579035846797530052523340",
"9811574133855865693060956486180034398",
"164925521736225333992779832503259767505",
"53981782624017504790478988128466886089",
"193336101038722169492537082280369041484",
"11935829580824697548290061403142321953",
"199262356514742238791246134412460083227"
]
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@560181d3ace61825f4ca9dd3481d6c0ee6709fa8",
"signature_type": "Line",
"target": {
"file": "drivers/nvmem/core.c"
}
},
{
"id": "CVE-2023-52929-c735a043",
"signature_version": "v1",
"digest": {
"function_hash": "151118436369367247296040663900939179406",
"length": 2741.0
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@23676ecd2eb377f7c24a6ff578b0f4c7135658b6",
"signature_type": "Function",
"target": {
"file": "drivers/nvmem/core.c",
"function": "nvmem_register"
}
},
{
"id": "CVE-2023-52929-cce127e9",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"212917097950663216070395157754452684103",
"185117984612831177285513807167968471457",
"149393368581757793124109927543013011079",
"25979892608999360424387640144078285546",
"73391412066822882417732348502545548638",
"132819241855526797458057395986567383407",
"228696928219020392121253410625812003898",
"244736956453070173056832265081746658147",
"190387091904222266600626946534158544278",
"6931000615611508096845879891637867026",
"78332186311976940267497493388011330526",
"35433060602239993925757443108816399065",
"294505963805003807305931644833428830790",
"156342551071959517935528204263082905084",
"71703990170492499485888527114092022075",
"62998459504220190645654472976864631449",
"244859703528414376677683156233896681125",
"79970171823588287629092384127753335268",
"56114389541639526338927538652850381215",
"246320883795992871155416798199131199233",
"90628385104216657525198471894185403564",
"198397338247639110410393356718616122303",
"253765630421642579035846797530052523340",
"9811574133855865693060956486180034398",
"164925521736225333992779832503259767505",
"53981782624017504790478988128466886089",
"193336101038722169492537082280369041484",
"11935829580824697548290061403142321953",
"199262356514742238791246134412460083227"
]
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@39708bc8da7858de0bed9b3a88b3beb1d1e0b443",
"signature_type": "Line",
"target": {
"file": "drivers/nvmem/core.c"
}
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-52929.json"