CVE-2022-50334

Source
https://cve.org/CVERecord?id=CVE-2022-50334
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-50334.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2022-50334
Downstream
Related
Published
2025-09-15T14:49:48.608Z
Modified
2026-04-02T08:28:25.514434Z
Summary
hugetlbfs: fix null-ptr-deref in hugetlbfs_parse_param()
Details

In the Linux kernel, the following vulnerability has been resolved:

hugetlbfs: fix null-ptr-deref in hugetlbfsparseparam()

Syzkaller reports a null-ptr-deref bug as follows:

KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] RIP: 0010:hugetlbfsparseparam+0x1dd/0x8e0 fs/hugetlbfs/inode.c:1380 [...] Call Trace: <TASK> vfsparsefsparam fs/fscontext.c:148 [inline] vfsparsefsparam+0x1f9/0x3c0 fs/fscontext.c:129 vfsparsefsstring+0xdb/0x170 fs/fscontext.c:191 genericparsemonolithic+0x16f/0x1f0 fs/fscontext.c:231 donewmount fs/namespace.c:3036 [inline] pathmount+0x12de/0x1e20 fs/namespace.c:3370 do_mount fs/namespace.c:3383 [inline] __dosysmount fs/namespace.c:3591 [inline] __sesysmount fs/namespace.c:3568 [inline] __x64sysmount+0x27f/0x300 fs/namespace.c:3568 dosyscallx64 arch/x86/entry/common.c:50 [inline] dosyscall64+0x35/0xb0 arch/x86/entry/common.c:80 entrySYSCALL64afterhwframe+0x63/0xcd [...]

</TASK>

According to commit "vfs: parse: deal with zero length string value", kernel will set the param->string to null pointer in vfsparsefs_string() if fs string has zero length.

Yet the problem is that, hugetlbfsparseparam() will dereference the param->string, without checking whether it is a null pointer. To be more specific, if hugetlbfsparseparam() parses an illegal mount parameter, such as "size=,", kernel will constructs struct fsparameter with null pointer in vfsparsefsstring(), then passes this struct fsparameter to hugetlbfsparse_param(), which triggers the above null-ptr-deref bug.

This patch solves it by adding sanity check on param->string in hugetlbfsparseparam().

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50334.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
32021982a324dce93b4ae00c06213bf45fb319c8
Fixed
fa71639873518e3587632ae58e25e4a96b57fa90
Fixed
dcd28191be9bbf307ba51a5b485773a55b0037c4
Fixed
9a8862820cbf1f18dca4f3b4c289d88561b3a384
Fixed
965e8f8ae0f642b5528f5a82b7bcaf15a659d5bd
Fixed
f2207145693ae5697a7b59e2add4b92f9e5b0e3c
Fixed
26215b7ee923b9251f7bb12c4e5f09dc465d35f2

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-50334.json"