cifs: fix DFS traversal oops without CONFIG_CIFS_DFS_UPCALL (Linux Linux)

CVE-2023-53246
MEDIUM 5.5

At a glance

Source
NVD
EPSS
EPSS 0.15 % · percentile 4 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Modified

Description

In the Linux kernel, the following vulnerability has been resolved: cifs: fix DFS traversal oops without CONFIG_CIFS_DFS_UPCALL When compiled with CONFIG_CIFS_DFS_UPCALL disabled, cifs_dfs_d_automount is NULL. cifs.ko logic for mapping CIFS_FATTR_DFS_REFERRAL attributes to S_AUTOMOUNT and corresponding dentry flags is retained regardless of CONFIG_CIFS_DFS_UPCALL, leading to a NULL pointer dereference in VFS follow_automount() when traversing a DFS referral link: BUG: kernel NULL pointer dereference, address: 0000000000000000 ... Call Trace: <TASK> __traverse_mounts+0xb5/0x220 ? cifs_revalidate_mapping+0x65/0xc0 [cifs] step_into+0x195/0x610 ? lookup_fast+0xe2/0xf0 path_lookupat+0x64/0x140 filename_lookup+0xc2/0x140 ? __create_object+0x299/0x380 ? kmem_cache_alloc+0x119/0x220 ? user_path_at_empty+0x31/0x50 user_path_at_empty+0x31/0x50 __x64_sys_chdir+0x2a/0xd0 ? exit_to_user_mode_prepare+0xca/0x100 do_syscall_64+0x42/0x90 entry_SYSCALL_64_after_hwframe+0x72/0xdc This fix adds an inline cifs_dfs_d_automount() {return -EREMOTE} handler when CONFIG_CIFS_DFS_UPCALL is disabled. An alternative would be to avoid flagging S_AUTOMOUNT, etc. without CONFIG_CIFS_DFS_UPCALL. This approach was chosen as it provides more control over the error path.

Weaknesses (CWE)

  • CWE-476 — NULL Pointer Dereference

References

Scores

VersionScoreVectorScored by
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD · nvd@nist.gov (Primary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected 25e195aa1e607f129ab912d29fcfc79239703307 < 26a32a212bc540f4773cd6af8cf73e967d72569c ; affected 25e195aa1e607f129ab912d29fcfc79239703307 < b64305185b76f1d5145ce594ff48f3f0e70695bd ; affected 25e195aa1e607f129ab912d29fcfc79239703307 < b7d854c33ab48e55fc233699bbefe39ec9bb5c05 ; affected 25e195aa1e607f129ab912d29fcfc79239703307 < 1e144b68208e98fd4602c842a7149ba5f41d87fb ; affected 25e195aa1e607f129ab912d29fcfc79239703307 < 179a88a8558bbf42991d361595281f3e45d7edfc
Linux · Linuxaffected 5.7 ; unaffected 0 < 5.7 ; unaffected 5.10.177 ≤ 5.10.* ; unaffected 5.15.106 ≤ 5.15.* ; unaffected 6.1.23 ≤ 6.1.* ; unaffected 6.2.10 ≤ 6.2.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD