Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2022-49271— cifs: prevent bad output lengths in smb2_ioctl_query_info()

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于smb2_ioctl_query_info中输出长度错误导致空指针取消引用。

AI Predicted 5.5 Difficulty: Easy EPSS 0.26% · P18

Possible ATT&CK Techniques 1 AI

T1203 · Exploitation for Client Execution

Affected Version Matrix 12

VendorProduct Version RangeStatus
Linux Linux cfaa1181097f6a1a6f4f6670ebc97848efda0883< 9963ccea6087268e1275b992dca5d0dd4b938765 affected
cfaa1181097f6a1a6f4f6670ebc97848efda0883< f143f8334fb9eb2f6c7c15b9da1472d9c965fd84 affected
cfaa1181097f6a1a6f4f6670ebc97848efda0883< fadddfc1dc3c6f79b21cff4a7e9a6c40b84fbc53 affected
cfaa1181097f6a1a6f4f6670ebc97848efda0883< 7529fbee10d82493c5cb109e51788bf74816d1c0 affected
cfaa1181097f6a1a6f4f6670ebc97848efda0883< b92e358757b91c2827af112cae9af513f26a3f34 affected
5.5 affected
< 5.5 unaffected
5.10.110≤ 5.10.* unaffected
… +4 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2022-49271

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
cifs: prevent bad output lengths in smb2_ioctl_query_info()
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: cifs: prevent bad output lengths in smb2_ioctl_query_info() When calling smb2_ioctl_query_info() with smb_query_info::flags=PASSTHRU_FSCTL and smb_query_info::output_buffer_length=0, the following would return 0x10 buffer = memdup_user(arg + sizeof(struct smb_query_info), qi.output_buffer_length); if (IS_ERR(buffer)) { kfree(vars); return PTR_ERR(buffer); } rather than a valid pointer thus making IS_ERR() check fail. This would then cause a NULL ptr deference in @buffer when accessing it later in smb2_ioctl_query_ioctl(). While at it, prevent having a @buffer smaller than 8 bytes to correctly handle SMB2_SET_INFO FileEndOfFileInformation requests when smb_query_info::flags=PASSTHRU_SET_INFO. Here is a small C reproducer which triggers a NULL ptr in @buffer when passing an invalid smb_query_info::flags #include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <unistd.h> #include <fcntl.h> #include <sys/ioctl.h> #define die(s) perror(s), exit(1) #define QUERY_INFO 0xc018cf07 int main(int argc, char *argv[]) { int fd; if (argc < 2) exit(1); fd = open(argv[1], O_RDONLY); if (fd == -1) die("open"); if (ioctl(fd, QUERY_INFO, (uint32_t[]) { 0, 0, 0, 4, 0, 0}) == -1) die("ioctl"); close(fd); return 0; } mount.cifs //srv/share /mnt -o ... gcc repro.c && ./a.out /mnt/f0 [ 114.138620] general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN NOPTI [ 114.139310] KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] [ 114.139775] CPU: 2 PID: 995 Comm: a.out Not tainted 5.17.0-rc8 #1 [ 114.140148] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.15.0-0-g2dd4b9b-rebuilt.opensuse.org 04/01/2014 [ 114.140818] RIP: 0010:smb2_ioctl_query_info+0x206/0x410 [cifs] [ 114.141221] Code: 00 00 00 00 fc ff df 48 c1 ea 03 80 3c 02 00 0f 85 c8 01 00 00 48 b8 00 00 00 00 00 fc ff df 4c 8b 7b 28 4c 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 9c 01 00 00 49 8b 3f e8 58 02 fb ff 48 8b 14 24 [ 114.142348] RSP: 0018:ffffc90000b47b00 EFLAGS: 00010256 [ 114.142692] RAX: dffffc0000000000 RBX: ffff888115503200 RCX: ffffffffa020580d [ 114.143119] RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffffffffa043a380 [ 114.143544] RBP: ffff888115503278 R08: 0000000000000001 R09: 0000000000000003 [ 114.143983] R10: fffffbfff4087470 R11: 0000000000000001 R12: ffff888115503288 [ 114.144424] R13: 00000000ffffffea R14: ffff888115503228 R15: 0000000000000000 [ 114.144852] FS: 00007f7aeabdf740(0000) GS:ffff888151600000(0000) knlGS:0000000000000000 [ 114.145338] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 114.145692] CR2: 00007f7aeacfdf5e CR3: 000000012000e000 CR4: 0000000000350ee0 [ 114.146131] Call Trace: [ 114.146291] <TASK> [ 114.146432] ? smb2_query_reparse_tag+0x890/0x890 [cifs] [ 114.146800] ? cifs_mapchar+0x460/0x460 [cifs] [ 114.147121] ? rcu_read_lock_sched_held+0x3f/0x70 [ 114.147412] ? cifs_strndup_to_utf16+0x15b/0x250 [cifs] [ 114.147775] ? dentry_path_raw+0xa6/0xf0 [ 114.148024] ? cifs_convert_path_to_utf16+0x198/0x220 [cifs] [ 114.148413] ? smb2_check_message+0x1080/0x1080 [cifs] [ 114.148766] ? rcu_read_lock_sched_held+0x3f/0x70 [ 114.149065] cifs_ioctl+0x1577/0x3320 [cifs] [ 114.149371] ? lock_downgrade+0x6f0/0x6f0 [ 114.149631] ? cifs_readdir+0x2e60/0x2e60 [cifs] [ 114.149956] ? rcu_read_lock_sched_held+0x3f/0x70 [ 114.150250] ? __rseq_handle_notify_resume+0x80b/0xbe0 [ 114.150562] ? __up_read+0x192/0x710 [ 114.150791] ? __ia32_sys_rseq+0xf0/0xf0 [ 114.151025] ? __x64_sys_openat+0x11f/0x1d0 [ 114.151296] __x64_sys_ioctl+0x127/0x190 [ 114.151549] do_syscall_64+0x3b/0x90 [ 114.151768] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 114.152079] RIP: 0033:0x7f7aead043df [ 114.152306] Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 ---truncated---
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于smb2_ioctl_query_info中输出长度错误导致空指针取消引用。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux cfaa1181097f6a1a6f4f6670ebc97848efda0883 ~ 9963ccea6087268e1275b992dca5d0dd4b938765 -
Linux Linux 5.5 -

II. Public POCs for CVE-2022-49271

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2022-49271

登录查看更多情报信息。

Patches & Fixes for CVE-2022-49271 (5)

Same Patch Batch · Linux · 2025-02-26 · 706 CVEs total

CVE-2022-49149 9.8 CRITICAL rxrpc: Fix call timer start racing with call destruction
CVE-2022-49280 9.8 CRITICAL NFSD: prevent underflow in nfssvc_decode_writeargs()
CVE-2022-49561 9.8 CRITICAL netfilter: conntrack: re-fetch conntrack after insertion
CVE-2022-49407 9.8 CRITICAL dlm: fix plock invalid read
CVE-2022-49094 9.8 CRITICAL net/tls: fix slab-out-of-bounds bug in decrypt_internal
CVE-2022-49362 9.8 CRITICAL NFSD: Fix potential use-after-free in nfsd_file_put()
CVE-2022-49093 9.8 CRITICAL skbuff: fix coalescing for page_pool fragment recycling
CVE-2022-49194 9.8 CRITICAL net: bcmgenet: Use stronger register read/writes to assure ordering
CVE-2022-49356 9.8 CRITICAL SUNRPC: Trap RDMA segment overflows
CVE-2022-49418 9.8 CRITICAL NFSv4: Fix free of uninitialized nfs4_label on referral lookup.
CVE-2022-49201 9.8 CRITICAL ibmvnic: fix race between xmit and reset
CVE-2022-49260 9.8 CRITICAL crypto: hisilicon/sec - fix the aead software fallback for engine
CVE-2022-49058 9.1 CRITICAL cifs: potential buffer overflow in handling symlinks
CVE-2022-49519 8.8 HIGH ath10k: skip ath10k_halt during suspend for driver state RESTARTING
CVE-2022-49328 8.8 HIGH mt76: fix use-after-free by removing a non-RCU wcid pointer
CVE-2022-49238 8.8 HIGH ath11k: free peer for station when disconnect from AP for QCA6390/WCN6855
CVE-2022-49138 8.8 HIGH Bluetooth: hci_event: Ignore multiple conn complete events
CVE-2022-49479 8.8 HIGH mt76: fix tx status related use-after-free race on station removal
CVE-2022-49114 8.8 HIGH scsi: libfc: Fix use after free in fc_exch_abts_resp()
CVE-2022-49111 8.8 HIGH Bluetooth: Fix use after free in hci_send_acl

Showing top 20 of 706 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2022-49271

No comments yet


Leave a comment