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.
[
{
"digest": {
"line_hashes": [
"160445078900020207001142678828053194918",
"193020039974860973132105420744119240214",
"141901971250339994220577222659869521011",
"56403245935948420984971900974784006411",
"117310897637701415992797625333630358194",
"30250683439519690504405318258377898324",
"17765705201165935014761394169715759287",
"69244568148145581055182975874603282881",
"330955056616686273313963026648789739252",
"110899355897169672194459964332261435976",
"83569519560985040706773524979518867510",
"252561431908932375657126763735683195981",
"59974075689819414394892124179600197219"
],
"threshold": 0.9
},
"target": {
"file": "mm/secretmem.c"
},
"deprecated": false,
"id": "CVE-2025-38396-09d1b14f",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66d29d757c968d2bee9124816da5d718eb352959"
},
{
"digest": {
"line_hashes": [
"202726532247333856193166854722395709245",
"207985551313559522811487555458448319354",
"49397199051395961248565704746577749244",
"41543260459111431336597802015482263800",
"161745298754163086815969551380423531521",
"305488507391409185586087428623209491905",
"221599381873476308005553480474690527575",
"38671309219832592338256294407028634164",
"191274980145167909327694094569985557675",
"141235748443217275302515387476579924696",
"212209605849480621429239741622825305287",
"120974891556351091136408239759982463385",
"245352666674311630124129846392773416574",
"53195259890004814827315121410582880125",
"37880545291076053375053168470322858753",
"82795278929151027684233610967709595619",
"317675401479096001053574902973865211561",
"161117307828351305650783879120412328754"
],
"threshold": 0.9
},
"target": {
"file": "fs/anon_inodes.c"
},
"deprecated": false,
"id": "CVE-2025-38396-13ea0d5b",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f94c422157f3e43dd31990567b3e5d54b3e5b32b"
},
{
"digest": {
"length": 786.0,
"function_hash": "317383122731748026325912050487821673185"
},
"target": {
"file": "fs/anon_inodes.c",
"function": "__anon_inode_getfile"
},
"deprecated": false,
"id": "CVE-2025-38396-1622edd1",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66d29d757c968d2bee9124816da5d718eb352959"
},
{
"digest": {
"line_hashes": [
"207726819013541388511098376761365913198",
"273002786557251893163822353844911930250",
"119939327220714794194032301263592176107",
"241985726690896441920134635240954445571"
],
"threshold": 0.9
},
"target": {
"file": "include/linux/fs.h"
},
"deprecated": false,
"id": "CVE-2025-38396-23598578",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3eed01347721cd7a8819568161c91d538fbf229"
},
{
"digest": {
"line_hashes": [
"216335622451477151513000161096908227094",
"235721513737858809352334670660425681325",
"127801396403787769775982171608095369875",
"117310897637701415992797625333630358194",
"319830109213997899646641305153015621304",
"332130743295659499743751020074810182169",
"322759496747919253159581125829775866723",
"322771705113763245555130642964085943802",
"110899355897169672194459964332261435976",
"83569519560985040706773524979518867510",
"252561431908932375657126763735683195981",
"59974075689819414394892124179600197219"
],
"threshold": 0.9
},
"target": {
"file": "mm/secretmem.c"
},
"deprecated": false,
"id": "CVE-2025-38396-2e60271b",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ca45ea48530332a4ba09595767bd26d3232743b"
},
{
"digest": {
"line_hashes": [
"207726819013541388511098376761365913198",
"250566445383168244310849878796485951431",
"214662320691963691763461682232284122246",
"127244351083241668827115210577230536405"
],
"threshold": 0.9
},
"target": {
"file": "include/linux/fs.h"
},
"deprecated": false,
"id": "CVE-2025-38396-4031108b",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66d29d757c968d2bee9124816da5d718eb352959"
},
{
"digest": {
"length": 802.0,
"function_hash": "96187983622938630441811629313277053771"
},
"target": {
"file": "mm/secretmem.c",
"function": "secretmem_file_create"
},
"deprecated": false,
"id": "CVE-2025-38396-5024915f",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66d29d757c968d2bee9124816da5d718eb352959"
},
{
"digest": {
"line_hashes": [
"216335622451477151513000161096908227094",
"235721513737858809352334670660425681325",
"127801396403787769775982171608095369875",
"117310897637701415992797625333630358194",
"319830109213997899646641305153015621304",
"332130743295659499743751020074810182169",
"322759496747919253159581125829775866723",
"322771705113763245555130642964085943802",
"110899355897169672194459964332261435976",
"83569519560985040706773524979518867510",
"252561431908932375657126763735683195981",
"59974075689819414394892124179600197219"
],
"threshold": 0.9
},
"target": {
"file": "mm/secretmem.c"
},
"deprecated": false,
"id": "CVE-2025-38396-5b12703f",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f94c422157f3e43dd31990567b3e5d54b3e5b32b"
},
{
"digest": {
"line_hashes": [
"278542020903518667180077692092152691066",
"184687390549678345549010836381321926918",
"187292549237263686132833786067626341359",
"122531036811374890699403008944502603246"
],
"threshold": 0.9
},
"target": {
"file": "include/linux/fs.h"
},
"deprecated": false,
"id": "CVE-2025-38396-5fc97825",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ca45ea48530332a4ba09595767bd26d3232743b"
},
{
"digest": {
"length": 786.0,
"function_hash": "317383122731748026325912050487821673185"
},
"target": {
"file": "fs/anon_inodes.c",
"function": "__anon_inode_getfile"
},
"deprecated": false,
"id": "CVE-2025-38396-7e66803a",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ca45ea48530332a4ba09595767bd26d3232743b"
},
{
"digest": {
"length": 387.0,
"function_hash": "46358320037710069693825722760916002249"
},
"target": {
"file": "fs/anon_inodes.c",
"function": "anon_inode_make_secure_inode"
},
"deprecated": false,
"id": "CVE-2025-38396-891cc6b4",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3eed01347721cd7a8819568161c91d538fbf229"
},
{
"digest": {
"length": 786.0,
"function_hash": "317383122731748026325912050487821673185"
},
"target": {
"file": "fs/anon_inodes.c",
"function": "__anon_inode_getfile"
},
"deprecated": false,
"id": "CVE-2025-38396-8a354582",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3eed01347721cd7a8819568161c91d538fbf229"
},
{
"digest": {
"length": 786.0,
"function_hash": "317383122731748026325912050487821673185"
},
"target": {
"file": "fs/anon_inodes.c",
"function": "__anon_inode_getfile"
},
"deprecated": false,
"id": "CVE-2025-38396-987bbb97",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f94c422157f3e43dd31990567b3e5d54b3e5b32b"
},
{
"digest": {
"length": 778.0,
"function_hash": "247158451956034610087899683252937030292"
},
"target": {
"file": "mm/secretmem.c",
"function": "secretmem_file_create"
},
"deprecated": false,
"id": "CVE-2025-38396-ac93fe30",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3eed01347721cd7a8819568161c91d538fbf229"
},
{
"digest": {
"length": 342.0,
"function_hash": "214628964465819708086419052528160717232"
},
"target": {
"file": "fs/anon_inodes.c",
"function": "anon_inode_make_secure_inode"
},
"deprecated": false,
"id": "CVE-2025-38396-adfd5a82",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f94c422157f3e43dd31990567b3e5d54b3e5b32b"
},
{
"digest": {
"line_hashes": [
"51044642952895111223965532216070647536",
"193020039974860973132105420744119240214",
"141901971250339994220577222659869521011",
"56403245935948420984971900974784006411",
"117310897637701415992797625333630358194",
"30250683439519690504405318258377898324",
"17765705201165935014761394169715759287",
"69244568148145581055182975874603282881",
"330955056616686273313963026648789739252",
"110899355897169672194459964332261435976",
"83569519560985040706773524979518867510",
"252561431908932375657126763735683195981",
"59974075689819414394892124179600197219"
],
"threshold": 0.9
},
"target": {
"file": "mm/secretmem.c"
},
"deprecated": false,
"id": "CVE-2025-38396-baa550a4",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3eed01347721cd7a8819568161c91d538fbf229"
},
{
"digest": {
"length": 387.0,
"function_hash": "46358320037710069693825722760916002249"
},
"target": {
"file": "fs/anon_inodes.c",
"function": "anon_inode_make_secure_inode"
},
"deprecated": false,
"id": "CVE-2025-38396-caec54f7",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66d29d757c968d2bee9124816da5d718eb352959"
},
{
"digest": {
"line_hashes": [
"202726532247333856193166854722395709245",
"207985551313559522811487555458448319354",
"49397199051395961248565704746577749244",
"41543260459111431336597802015482263800",
"161745298754163086815969551380423531521",
"6741026106160597920880681267167450651",
"28628907984578163400781109544867519312",
"8183179108087397168271912699830956492",
"69469417920981794921692134207666103780",
"191274980145167909327694094569985557675",
"141235748443217275302515387476579924696",
"212209605849480621429239741622825305287",
"120974891556351091136408239759982463385",
"245352666674311630124129846392773416574",
"53195259890004814827315121410582880125",
"25698330599883587756663528205536484023",
"168995733753993067682521407079943274352",
"276710705997582279010490200848168821322",
"161117307828351305650783879120412328754"
],
"threshold": 0.9
},
"target": {
"file": "fs/anon_inodes.c"
},
"deprecated": false,
"id": "CVE-2025-38396-cb3d2798",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3eed01347721cd7a8819568161c91d538fbf229"
},
{
"digest": {
"length": 735.0,
"function_hash": "9146107283012255051361014157227253944"
},
"target": {
"file": "mm/secretmem.c",
"function": "secretmem_file_create"
},
"deprecated": false,
"id": "CVE-2025-38396-e3689f86",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ca45ea48530332a4ba09595767bd26d3232743b"
},
{
"digest": {
"line_hashes": [
"202726532247333856193166854722395709245",
"207985551313559522811487555458448319354",
"49397199051395961248565704746577749244",
"41543260459111431336597802015482263800",
"161745298754163086815969551380423531521",
"305488507391409185586087428623209491905",
"221599381873476308005553480474690527575",
"38671309219832592338256294407028634164",
"191274980145167909327694094569985557675",
"141235748443217275302515387476579924696",
"212209605849480621429239741622825305287",
"120974891556351091136408239759982463385",
"245352666674311630124129846392773416574",
"53195259890004814827315121410582880125",
"37880545291076053375053168470322858753",
"82795278929151027684233610967709595619",
"317675401479096001053574902973865211561",
"161117307828351305650783879120412328754"
],
"threshold": 0.9
},
"target": {
"file": "fs/anon_inodes.c"
},
"deprecated": false,
"id": "CVE-2025-38396-eb2124cf",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ca45ea48530332a4ba09595767bd26d3232743b"
},
{
"digest": {
"line_hashes": [
"202726532247333856193166854722395709245",
"207985551313559522811487555458448319354",
"49397199051395961248565704746577749244",
"41543260459111431336597802015482263800",
"161745298754163086815969551380423531521",
"6741026106160597920880681267167450651",
"28628907984578163400781109544867519312",
"8183179108087397168271912699830956492",
"69469417920981794921692134207666103780",
"191274980145167909327694094569985557675",
"141235748443217275302515387476579924696",
"212209605849480621429239741622825305287",
"120974891556351091136408239759982463385",
"245352666674311630124129846392773416574",
"53195259890004814827315121410582880125",
"25698330599883587756663528205536484023",
"168995733753993067682521407079943274352",
"276710705997582279010490200848168821322",
"161117307828351305650783879120412328754"
],
"threshold": 0.9
},
"target": {
"file": "fs/anon_inodes.c"
},
"deprecated": false,
"id": "CVE-2025-38396-ed0ada0a",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66d29d757c968d2bee9124816da5d718eb352959"
},
{
"digest": {
"line_hashes": [
"278542020903518667180077692092152691066",
"184687390549678345549010836381321926918",
"187292549237263686132833786067626341359",
"122531036811374890699403008944502603246"
],
"threshold": 0.9
},
"target": {
"file": "include/linux/fs.h"
},
"deprecated": false,
"id": "CVE-2025-38396-f364fd95",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f94c422157f3e43dd31990567b3e5d54b3e5b32b"
},
{
"digest": {
"length": 382.0,
"function_hash": "338847357121277572140676992255266683980"
},
"target": {
"file": "fs/anon_inodes.c",
"function": "anon_inode_make_secure_inode"
},
"deprecated": false,
"id": "CVE-2025-38396-f59a2371",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ca45ea48530332a4ba09595767bd26d3232743b"
},
{
"digest": {
"length": 735.0,
"function_hash": "9146107283012255051361014157227253944"
},
"target": {
"file": "mm/secretmem.c",
"function": "secretmem_file_create"
},
"deprecated": false,
"id": "CVE-2025-38396-f9f4b355",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f94c422157f3e43dd31990567b3e5d54b3e5b32b"
}
]