In the Linux kernel, the following vulnerability has been resolved:
fs: export anoninodemakesecureinode() and fix secretmem LSM bypass
Export anoninodemakesecureinode() to allow KVM guestmemfd to create anonymous inodes with proper security context. This replaces the current pattern of calling allocanoninode() followed by inodeinitsecurityanon() for creating security context manually.
This change also fixes a security regression in secretmem where the SPRIVATE flag was not cleared after allocanon_inode(), causing LSM/SELinux checks to be bypassed for secretmem file descriptors.
As guestmemfd currently resides in the KVM module, we need to export this symbol for use outside the core kernel. In the future, guestmemfd might be moved to core-mm, at which point the symbols no longer would have to be exported. When/if that happens is still unclear.
[ { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66d29d757c968d2bee9124816da5d718eb352959", "signature_version": "v1", "target": { "file": "mm/secretmem.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "160445078900020207001142678828053194918", "193020039974860973132105420744119240214", "141901971250339994220577222659869521011", "56403245935948420984971900974784006411", "117310897637701415992797625333630358194", "30250683439519690504405318258377898324", "17765705201165935014761394169715759287", "69244568148145581055182975874603282881", "330955056616686273313963026648789739252", "110899355897169672194459964332261435976", "83569519560985040706773524979518867510", "252561431908932375657126763735683195981", "59974075689819414394892124179600197219" ] }, "id": "CVE-2025-38396-09d1b14f" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f94c422157f3e43dd31990567b3e5d54b3e5b32b", "signature_version": "v1", "target": { "file": "fs/anon_inodes.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "202726532247333856193166854722395709245", "207985551313559522811487555458448319354", "49397199051395961248565704746577749244", "41543260459111431336597802015482263800", "161745298754163086815969551380423531521", "305488507391409185586087428623209491905", "221599381873476308005553480474690527575", "38671309219832592338256294407028634164", "191274980145167909327694094569985557675", "141235748443217275302515387476579924696", "212209605849480621429239741622825305287", "120974891556351091136408239759982463385", "245352666674311630124129846392773416574", "53195259890004814827315121410582880125", "37880545291076053375053168470322858753", "82795278929151027684233610967709595619", "317675401479096001053574902973865211561", "161117307828351305650783879120412328754" ] }, "id": "CVE-2025-38396-13ea0d5b" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66d29d757c968d2bee9124816da5d718eb352959", "signature_version": "v1", "target": { "function": "__anon_inode_getfile", "file": "fs/anon_inodes.c" }, "digest": { "function_hash": "317383122731748026325912050487821673185", "length": 786.0 }, "id": "CVE-2025-38396-1622edd1" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3eed01347721cd7a8819568161c91d538fbf229", "signature_version": "v1", "target": { "file": "include/linux/fs.h" }, "digest": { "threshold": 0.9, "line_hashes": [ "207726819013541388511098376761365913198", "273002786557251893163822353844911930250", "119939327220714794194032301263592176107", "241985726690896441920134635240954445571" ] }, "id": "CVE-2025-38396-23598578" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ca45ea48530332a4ba09595767bd26d3232743b", "signature_version": "v1", "target": { "file": "mm/secretmem.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "216335622451477151513000161096908227094", "235721513737858809352334670660425681325", "127801396403787769775982171608095369875", "117310897637701415992797625333630358194", "319830109213997899646641305153015621304", "332130743295659499743751020074810182169", "322759496747919253159581125829775866723", "322771705113763245555130642964085943802", "110899355897169672194459964332261435976", "83569519560985040706773524979518867510", "252561431908932375657126763735683195981", "59974075689819414394892124179600197219" ] }, "id": "CVE-2025-38396-2e60271b" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66d29d757c968d2bee9124816da5d718eb352959", "signature_version": "v1", "target": { "file": "include/linux/fs.h" }, "digest": { "threshold": 0.9, "line_hashes": [ "207726819013541388511098376761365913198", "250566445383168244310849878796485951431", "214662320691963691763461682232284122246", "127244351083241668827115210577230536405" ] }, "id": "CVE-2025-38396-4031108b" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbe4134ea4bc493239786220bd69cb8a13493190", "signature_version": "v1", "target": { "function": "anon_inode_make_secure_inode", "file": "fs/anon_inodes.c" }, "digest": { "function_hash": "338847357121277572140676992255266683980", "length": 382.0 }, "id": "CVE-2025-38396-4efe05c4" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66d29d757c968d2bee9124816da5d718eb352959", "signature_version": "v1", "target": { "function": "secretmem_file_create", "file": "mm/secretmem.c" }, "digest": { "function_hash": "96187983622938630441811629313277053771", "length": 802.0 }, "id": "CVE-2025-38396-5024915f" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbe4134ea4bc493239786220bd69cb8a13493190", "signature_version": "v1", "target": { "file": "fs/anon_inodes.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "202726532247333856193166854722395709245", "207985551313559522811487555458448319354", "49397199051395961248565704746577749244", "41543260459111431336597802015482263800", "161745298754163086815969551380423531521", "305488507391409185586087428623209491905", "221599381873476308005553480474690527575", "38671309219832592338256294407028634164", "191274980145167909327694094569985557675", "141235748443217275302515387476579924696", "212209605849480621429239741622825305287", "120974891556351091136408239759982463385", "245352666674311630124129846392773416574", "53195259890004814827315121410582880125", "37880545291076053375053168470322858753", "82795278929151027684233610967709595619", "317675401479096001053574902973865211561", "161117307828351305650783879120412328754" ] }, "id": "CVE-2025-38396-53e1d70e" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f94c422157f3e43dd31990567b3e5d54b3e5b32b", "signature_version": "v1", "target": { "file": "mm/secretmem.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "216335622451477151513000161096908227094", "235721513737858809352334670660425681325", "127801396403787769775982171608095369875", "117310897637701415992797625333630358194", "319830109213997899646641305153015621304", "332130743295659499743751020074810182169", "322759496747919253159581125829775866723", "322771705113763245555130642964085943802", "110899355897169672194459964332261435976", "83569519560985040706773524979518867510", "252561431908932375657126763735683195981", "59974075689819414394892124179600197219" ] }, "id": "CVE-2025-38396-5b12703f" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ca45ea48530332a4ba09595767bd26d3232743b", "signature_version": "v1", "target": { "file": "include/linux/fs.h" }, "digest": { "threshold": 0.9, "line_hashes": [ "278542020903518667180077692092152691066", "184687390549678345549010836381321926918", "187292549237263686132833786067626341359", "122531036811374890699403008944502603246" ] }, "id": "CVE-2025-38396-5fc97825" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ca45ea48530332a4ba09595767bd26d3232743b", "signature_version": "v1", "target": { "function": "__anon_inode_getfile", "file": "fs/anon_inodes.c" }, "digest": { "function_hash": "317383122731748026325912050487821673185", "length": 786.0 }, "id": "CVE-2025-38396-7e66803a" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3eed01347721cd7a8819568161c91d538fbf229", "signature_version": "v1", "target": { "function": "anon_inode_make_secure_inode", "file": "fs/anon_inodes.c" }, "digest": { "function_hash": "46358320037710069693825722760916002249", "length": 387.0 }, "id": "CVE-2025-38396-891cc6b4" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3eed01347721cd7a8819568161c91d538fbf229", "signature_version": "v1", "target": { "function": "__anon_inode_getfile", "file": "fs/anon_inodes.c" }, "digest": { "function_hash": "317383122731748026325912050487821673185", "length": 786.0 }, "id": "CVE-2025-38396-8a354582" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbe4134ea4bc493239786220bd69cb8a13493190", "signature_version": "v1", "target": { "file": "mm/secretmem.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "216335622451477151513000161096908227094", "235721513737858809352334670660425681325", "127801396403787769775982171608095369875", "117310897637701415992797625333630358194", "319830109213997899646641305153015621304", "332130743295659499743751020074810182169", "322759496747919253159581125829775866723", "322771705113763245555130642964085943802", "110899355897169672194459964332261435976", "83569519560985040706773524979518867510", "252561431908932375657126763735683195981", "59974075689819414394892124179600197219" ] }, "id": "CVE-2025-38396-8ded544a" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f94c422157f3e43dd31990567b3e5d54b3e5b32b", "signature_version": "v1", "target": { "function": "__anon_inode_getfile", "file": "fs/anon_inodes.c" }, "digest": { "function_hash": "317383122731748026325912050487821673185", "length": 786.0 }, "id": "CVE-2025-38396-987bbb97" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbe4134ea4bc493239786220bd69cb8a13493190", "signature_version": "v1", "target": { "file": "include/linux/fs.h" }, "digest": { "threshold": 0.9, "line_hashes": [ "278542020903518667180077692092152691066", "184687390549678345549010836381321926918", "187292549237263686132833786067626341359", "122531036811374890699403008944502603246" ] }, "id": "CVE-2025-38396-9f652bde" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbe4134ea4bc493239786220bd69cb8a13493190", "signature_version": "v1", "target": { "function": "secretmem_file_create", "file": "mm/secretmem.c" }, "digest": { "function_hash": "9146107283012255051361014157227253944", "length": 735.0 }, "id": "CVE-2025-38396-a49d1f5a" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3eed01347721cd7a8819568161c91d538fbf229", "signature_version": "v1", "target": { "function": "secretmem_file_create", "file": "mm/secretmem.c" }, "digest": { "function_hash": "247158451956034610087899683252937030292", "length": 778.0 }, "id": "CVE-2025-38396-ac93fe30" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f94c422157f3e43dd31990567b3e5d54b3e5b32b", "signature_version": "v1", "target": { "function": "anon_inode_make_secure_inode", "file": "fs/anon_inodes.c" }, "digest": { "function_hash": "214628964465819708086419052528160717232", "length": 342.0 }, "id": "CVE-2025-38396-adfd5a82" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbe4134ea4bc493239786220bd69cb8a13493190", "signature_version": "v1", "target": { "function": "__anon_inode_getfile", "file": "fs/anon_inodes.c" }, "digest": { "function_hash": "317383122731748026325912050487821673185", "length": 786.0 }, "id": "CVE-2025-38396-b6730662" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3eed01347721cd7a8819568161c91d538fbf229", "signature_version": "v1", "target": { "file": "mm/secretmem.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "51044642952895111223965532216070647536", "193020039974860973132105420744119240214", "141901971250339994220577222659869521011", "56403245935948420984971900974784006411", "117310897637701415992797625333630358194", "30250683439519690504405318258377898324", "17765705201165935014761394169715759287", "69244568148145581055182975874603282881", "330955056616686273313963026648789739252", "110899355897169672194459964332261435976", "83569519560985040706773524979518867510", "252561431908932375657126763735683195981", "59974075689819414394892124179600197219" ] }, "id": "CVE-2025-38396-baa550a4" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66d29d757c968d2bee9124816da5d718eb352959", "signature_version": "v1", "target": { "function": "anon_inode_make_secure_inode", "file": "fs/anon_inodes.c" }, "digest": { "function_hash": "46358320037710069693825722760916002249", "length": 387.0 }, "id": "CVE-2025-38396-caec54f7" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3eed01347721cd7a8819568161c91d538fbf229", "signature_version": "v1", "target": { "file": "fs/anon_inodes.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "202726532247333856193166854722395709245", "207985551313559522811487555458448319354", "49397199051395961248565704746577749244", "41543260459111431336597802015482263800", "161745298754163086815969551380423531521", "6741026106160597920880681267167450651", "28628907984578163400781109544867519312", "8183179108087397168271912699830956492", "69469417920981794921692134207666103780", "191274980145167909327694094569985557675", "141235748443217275302515387476579924696", "212209605849480621429239741622825305287", "120974891556351091136408239759982463385", "245352666674311630124129846392773416574", "53195259890004814827315121410582880125", "25698330599883587756663528205536484023", "168995733753993067682521407079943274352", "276710705997582279010490200848168821322", "161117307828351305650783879120412328754" ] }, "id": "CVE-2025-38396-cb3d2798" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ca45ea48530332a4ba09595767bd26d3232743b", "signature_version": "v1", "target": { "function": "secretmem_file_create", "file": "mm/secretmem.c" }, "digest": { "function_hash": "9146107283012255051361014157227253944", "length": 735.0 }, "id": "CVE-2025-38396-e3689f86" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ca45ea48530332a4ba09595767bd26d3232743b", "signature_version": "v1", "target": { "file": "fs/anon_inodes.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "202726532247333856193166854722395709245", "207985551313559522811487555458448319354", "49397199051395961248565704746577749244", "41543260459111431336597802015482263800", "161745298754163086815969551380423531521", "305488507391409185586087428623209491905", "221599381873476308005553480474690527575", "38671309219832592338256294407028634164", "191274980145167909327694094569985557675", "141235748443217275302515387476579924696", "212209605849480621429239741622825305287", "120974891556351091136408239759982463385", "245352666674311630124129846392773416574", "53195259890004814827315121410582880125", "37880545291076053375053168470322858753", "82795278929151027684233610967709595619", "317675401479096001053574902973865211561", "161117307828351305650783879120412328754" ] }, "id": "CVE-2025-38396-eb2124cf" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66d29d757c968d2bee9124816da5d718eb352959", "signature_version": "v1", "target": { "file": "fs/anon_inodes.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "202726532247333856193166854722395709245", "207985551313559522811487555458448319354", "49397199051395961248565704746577749244", "41543260459111431336597802015482263800", "161745298754163086815969551380423531521", "6741026106160597920880681267167450651", "28628907984578163400781109544867519312", "8183179108087397168271912699830956492", "69469417920981794921692134207666103780", "191274980145167909327694094569985557675", "141235748443217275302515387476579924696", "212209605849480621429239741622825305287", "120974891556351091136408239759982463385", "245352666674311630124129846392773416574", "53195259890004814827315121410582880125", "25698330599883587756663528205536484023", "168995733753993067682521407079943274352", "276710705997582279010490200848168821322", "161117307828351305650783879120412328754" ] }, "id": "CVE-2025-38396-ed0ada0a" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f94c422157f3e43dd31990567b3e5d54b3e5b32b", "signature_version": "v1", "target": { "file": "include/linux/fs.h" }, "digest": { "threshold": 0.9, "line_hashes": [ "278542020903518667180077692092152691066", "184687390549678345549010836381321926918", "187292549237263686132833786067626341359", "122531036811374890699403008944502603246" ] }, "id": "CVE-2025-38396-f364fd95" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ca45ea48530332a4ba09595767bd26d3232743b", "signature_version": "v1", "target": { "function": "anon_inode_make_secure_inode", "file": "fs/anon_inodes.c" }, "digest": { "function_hash": "338847357121277572140676992255266683980", "length": 382.0 }, "id": "CVE-2025-38396-f59a2371" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f94c422157f3e43dd31990567b3e5d54b3e5b32b", "signature_version": "v1", "target": { "function": "secretmem_file_create", "file": "mm/secretmem.c" }, "digest": { "function_hash": "9146107283012255051361014157227253944", "length": 735.0 }, "id": "CVE-2025-38396-f9f4b355" } ]