A critical Linux kernel vulnerability, CVE-2026-31431 (“Copy Fail”), was publicly disclosed in April 2026. The flaw is a logic error in the kernel’s authencesn component that allows an unprivileged local user to escalate their privileges to full root (administrator) access. Ubuntu released a kernel patch for this issue on April 2, 2026.The vulnerability chains two kernel subsystems — the AF_ALG crypto API socket interface and the splice() system call — to perform a 4-byte write to the page cache. This can be used to modify the behavior of a setuid binary without requiring a race condition or kernel-specific offsets, making it highly reliable.
This vulnerability only allows privilege escalation by a user who already has local access to your server. It does not permit remote code execution on its own. However, we strongly recommend applying the patch and rebooting your servers at your earliest convenience.
Because Laravel Forge enables automatic security updates by default, the patched kmod package has already been downloaded and installed on servers where this feature is enabled. However, the fix does not take effect until the server is rebooted, and Forge does not reboot servers automatically.
If automatic security updates are enabled, the patched package is already on your server and you only need to reboot. You can reboot directly from the Forge dashboard by navigating to your server and selecting Reboot Server from the server management panel.If automatic security updates are disabled, apply the fix manually via SSH before rebooting:
If you are unable to reboot immediately, you can disable the vulnerable algif_aead kernel module as a temporary measure. This does not affect services such as dm-crypt, LUKS, kTLS, IPsec, or standard OpenSSL/GnuTLS builds.
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif.confsudo rmmod algif_aead
This is a temporary workaround only. You should still apply the full patch and reboot your server as soon as possible.
To remove the temporary mitigation after rebooting with the patched kernel:
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Laravel Forge","colors":{"primary":"#18B69B","light":"#18B69B","dark":"#18B69B"},"logo":{"light":"https://mintcdn.com/forge-laravel/sHyXHYyrLoATu64X/logo/logo.svg?fit=max\u0026auto=format\u0026n=sHyXHYyrLoATu64X\u0026q=85\u0026s=469c693d945743b5870032ffac8d67b7","dark":"https://mintcdn.com/forge-laravel/sHyXHYyrLoATu64X/logo/logo.svg?fit=max\u0026auto=format\u0026n=sHyXHYyrLoATu64X\u0026q=85\u0026s=469c693d945743b5870032ffac8d67b7","href":"https://forge.laravel.com"},"favicon":"https://mintcdn.com/forge-laravel/DhXK7kFkCTo-2V2J/favicon.png?fit=max\u0026auto=format\u0026n=DhXK7kFkCTo-2V2J\u0026q=85\u0026s=eda7438a183a53fc59e814b80feebd59","api":{"playground":{"display":"simple"},"examples":{"languages":["php","bash","javascript","go"]}},"background":{"decoration":"windows"},"navbar":{"primary":{"type":"button","label":"Get started","href":"https://forge.laravel.com"}},"footer":{"socials":{"x":"https://x.com/laravel","github":"https://github.com/laravel","discord":"https://discord.com/invite/laravel","linkedin":"https://linkedin.com/company/laravel"}},"seo":{"metatags":{"canonical":"https://laravel.com/forge/docs"}},"fonts":{"heading":{"family":"Figtree"},"body":{"family":"Figtree"}},"integrations":{"fathom":{"siteId":"UZINDLYX"}},"contextual":{"options":["copy","chatgpt","claude","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Community","icon":"discord","href":"https://discord.gg/laravel"},{"anchor":"Blog","icon":"newspaper","href":"https://blog.laravel.com"},{"anchor":"Status","icon":"heart-pulse","href":"https://status.on-forge.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"forge-laravel","hasAudioNarration":false,"actualSubdomain":"forge-laravel","customDomains":["forge.laravel.com"],"gitSource":{"type":"github","owner":"laravel","repo":"forge-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aedf13f1700a18ffd1cd49c","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Documentation","count":49},{"language":"default","tag":"Sites","count":11},{"language":"default","tag":"Resources","count":10},{"language":"default","tag":"Basics","count":9},{"language":"default","tag":"Servers","count":9},{"language":"default","tag":"Knowledge Base","count":7},{"language":"default","tag":"API Reference","count":5},{"language":"default","tag":"Introduction","count":5},{"language":"default","tag":"Troubleshooting","count":5},{"language":"default","tag":"Integrations","count":4}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"/* latin-ext */\n@font-face {\n font-family: 'Instrument Sans';\n font-style: normal;\n font-weight: 400 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/instrumentsans/v4/pxiTypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr0She1YmV.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Instrument Sans';\n font-style: normal;\n font-weight: 400 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/instrumentsans/v4/pxiTypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr0SZe1Q.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\nbody{font-family:\"Instrument Sans\";font-weight:400}h1,h2,h3,h4{font-weight:500!important;letter-spacing:-.025rem!important}code,pre{font-family:'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace}b,strong,.font-semibold{font-weight:500!important}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500!important;color:rgb(var(--primary-light))!important}.codeblock-dark div:not(:last-child){color:#fafafa}"}],"page":{"pagePath":"knowledge-base/cve-2026-31431","slug":"/knowledge-base/cve-2026-31431","pageMetadata":{"title":"Copy Fail security advisory (CVE-2026-31431)","sidebarTitle":"Security: Copy Fail advice","description":"Security advisory for the Copy Fail Linux kernel privilege escalation vulnerability affecting Laravel Forge servers.","href":"/knowledge-base/cve-2026-31431"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Security advisory for the Copy Fail Linux kernel privilege escalation vulnerability affecting Laravel Forge servers.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsxs(_components.p,{children:[`A critical Linux kernel vulnerability, CVE-2026-31431 (“Copy Fail”), was publicly disclosed in April 2026. The flaw is a logic error in the kernel’s `,_jsx(_components.code,{children:`authencesn`}),` component that allows an unprivileged local user to escalate their privileges to full root (administrator) access. Ubuntu released a kernel patch for this issue on April 2, 2026.`]}),`\n`,_jsxs(_components.p,{children:[`The vulnerability chains two kernel subsystems — the `,_jsx(_components.code,{children:`AF_ALG`}),` crypto API socket interface and the `,_jsx(_components.code,{children:`splice()`}),` system call — to perform a 4-byte write to the page cache. This can be used to modify the behavior of a setuid binary without requiring a race condition or kernel-specific offsets, making it highly reliable.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`This vulnerability only allows privilege escalation by a user who already has local access to your server. It does not permit remote code execution on its own. However, we strongly recommend applying the patch and rebooting your servers at your earliest convenience.`})}),`\n`,_jsx(Heading,{level:`2`,id:`what-forge-has-already-done`,children:`What Forge has already done`}),`\n`,_jsxs(_components.p,{children:[`Because Laravel Forge enables automatic security updates by default, the patched `,_jsx(_components.code,{children:`kmod`}),` package has already been downloaded and installed on servers where this feature is enabled. However, `,_jsx(_components.strong,{children:`the fix does not take effect until the server is rebooted`}),`, and Forge does not reboot servers automatically.`]}),`\n`,_jsx(Heading,{level:`2`,id:`affected-ubuntu-versions`,children:`Affected Ubuntu versions`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Ubuntu Version`}),_jsx(_components.th,{children:`Status`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`24.04 LTS`}),_jsxs(_components.td,{children:[`Patched — fix available via `,_jsx(_components.code,{children:`kmod`}),` package`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`22.04 LTS`}),_jsx(_components.td,{children:`Patched — fix has been backported`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`20.04 LTS`}),_jsx(_components.td,{children:`Patched — fix has been backported`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`18.04 LTS`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Not patched`}),` — this version has reached end of life and will not receive a fix`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`what-you-need-to-do`,children:`What you need to do`}),`\n`,_jsx(Heading,{level:`3`,id:`step-1-check-your-current-kmod-version`,children:`Step 1: Check your current kmod version`}),`\n`,_jsxs(_components.p,{children:[`Before applying the fix, we recommend SSHing into your server and confirming the currently installed `,_jsx(_components.code,{children:`kmod`}),` version:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`dpkg`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -l`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` kmod`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Make a note of the version displayed so that you can verify the upgrade afterward.`}),`\n`,_jsx(Heading,{level:`3`,id:`step-2-apply-the-fix`,children:`Step 2: Apply the fix`}),`\n`,_jsxs(_components.p,{children:[`If automatic security updates are enabled, the patched package is already on your server and you only need to reboot. You can reboot directly from the Forge dashboard by navigating to your server and selecting `,_jsx(_components.strong,{children:`Reboot Server`}),` from the server management panel.`]}),`\n`,_jsx(_components.p,{children:`If automatic security updates are disabled, apply the fix manually via SSH before rebooting:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sudo`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` apt`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` update`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026 `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sudo`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` apt`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --only-upgrade`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` kmod`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sudo`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` reboot`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`step-3-verify-the-fix-is-active`,children:`Step 3: Verify the fix is active`}),`\n`,_jsxs(_components.p,{children:[`After the server has rebooted, SSH back in and run `,_jsx(_components.code,{children:`dpkg -l kmod`}),` again to confirm that the installed version is newer than the one recorded in Step 1:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`dpkg`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -l`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` kmod`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`temporary-mitigation-without-rebooting`,children:`Temporary mitigation (without rebooting)`}),`\n`,_jsxs(_components.p,{children:[`If you are unable to reboot immediately, you can disable the vulnerable `,_jsx(_components.code,{children:`algif_aead`}),` kernel module as a temporary measure. This does not affect services such as dm-crypt, LUKS, kTLS, IPsec, or standard OpenSSL/GnuTLS builds.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`echo`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"install algif_aead /bin/false\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` sudo`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` tee`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /etc/modprobe.d/disable-algif.conf`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sudo`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` rmmod`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` algif_aead`})]}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`This is a temporary workaround only. You should still apply the full patch and reboot your server as soon as possible.`})}),`\n`,_jsx(_components.p,{children:`To remove the temporary mitigation after rebooting with the patched kernel:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sudo`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` rm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /etc/modprobe.d/disable-algif.conf`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`more-information`,children:`More information`}),`\n`,_jsxs(_components.p,{children:[`For Ubuntu’s official guidance and a complete walkthrough of the fix, see Canonical’s announcement at `,_jsx(_components.a,{href:`https://ubuntu.com/blog/copy-fail-vulnerability-fixes-available`,children:`https://ubuntu.com/blog/copy-fail-vulnerability-fixes-available`}),`. For full technical details about the vulnerability itself, visit `,_jsx(_components.a,{href:`https://copy.fail`,children:`https://copy.fail`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Copy Fail security advisory (CVE-2026-31431)","sidebarTitle":"Security: Copy Fail advice","description":"Security advisory for the Copy Fail Linux kernel privilege escalation vulnerability affecting Laravel Forge servers.","href":"/knowledge-base/cve-2026-31431"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"What Forge has already done","slug":"what-forge-has-already-done","depth":2,"children":[]},{"title":"Affected Ubuntu versions","slug":"affected-ubuntu-versions","depth":2,"children":[]},{"title":"What you need to do","slug":"what-you-need-to-do","depth":2,"children":[{"title":"Step 1: Check your current kmod version","slug":"step-1-check-your-current-kmod-version","depth":3,"children":[]},{"title":"Step 2: Apply the fix","slug":"step-2-apply-the-fix","depth":3,"children":[]},{"title":"Step 3: Verify the fix is active","slug":"step-3-verify-the-fix-is-active","depth":3,"children":[]}]},{"title":"Temporary mitigation (without rebooting)","slug":"temporary-mitigation-without-rebooting","depth":2,"children":[]},{"title":"More information","slug":"more-information","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/forge-laravel/1bbd0658b78e8288/rudder.js","/docs/_mintlify/custom/forge-laravel/cf2463a5a064fd05/plain.js"],"subdomain":"forge-laravel","siteName":"Laravel Forge","title":"Copy Fail security advisory (CVE-2026-31431) - Laravel Forge","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T15:25:04.060Z","originalFileLocation":"knowledge-base/cve-2026-31431.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Security advisory for the Copy Fail Linux kernel privilege escalation vulnerability affecting Laravel Forge servers.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Laravel Forge\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/forge-laravel/c_1rQpFWehdE_YrP/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/forge-laravel/c_1rQpFWehdE_YrP/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/forge-laravel/c_1rQpFWehdE_YrP/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/forge-laravel/c_1rQpFWehdE_YrP/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/forge-laravel/c_1rQpFWehdE_YrP/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/forge-laravel/c_1rQpFWehdE_YrP/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/forge-laravel/c_1rQpFWehdE_YrP/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/forge-laravel/c_1rQpFWehdE_YrP/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/forge-laravel/c_1rQpFWehdE_YrP/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Copy Fail security advisory (CVE-2026-31431) - Laravel Forge\">\u003cmeta data-mint-head property=\"og:description\" content=\"Security advisory for the Copy Fail Linux kernel privilege escalation vulnerability affecting Laravel Forge servers.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Laravel Forge\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://laravel.com/forge/docs/knowledge-base/cve-2026-31431\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://forge-laravel.mintlify.site/docs/_mintlify/api/og/v2?division=Security+Advisories\u0026amp;title=Copy+Fail+security+advisory+%28CVE-2026-31431%29\u0026amp;description=Security+advisory+for+the+Copy+Fail+Linux+kernel+privilege+escalation+vulnerability+affecting+Laravel+Forge+servers.\u0026amp;theme=1c0f39d14eacb1d14985e191\u0026amp;signature=9bae5a2b70fc809509679ab2f3eaf09876d012ac36f24166db50ff4b6a7ccbb4\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Copy Fail security advisory (CVE-2026-31431) - Laravel Forge\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Security advisory for the Copy Fail Linux kernel privilege escalation vulnerability affecting Laravel Forge servers.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://forge-laravel.mintlify.site/docs/_mintlify/api/og/v2?division=Security+Advisories\u0026amp;title=Copy+Fail+security+advisory+%28CVE-2026-31431%29\u0026amp;description=Security+advisory+for+the+Copy+Fail+Linux+kernel+privilege+escalation+vulnerability+affecting+Laravel+Forge+servers.\u0026amp;theme=1c0f39d14eacb1d14985e191\u0026amp;signature=9bae5a2b70fc809509679ab2f3eaf09876d012ac36f24166db50ff4b6a7ccbb4\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/forge-laravel/c_1rQpFWehdE_YrP/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Laravel Forge\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#18B69B\">\u003clink data-mint-head rel=\"canonical\" href=\"https://laravel.com/forge/docs/knowledge-base/cve-2026-31431\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/knowledge-base/cve-2026-31431.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://laravel.com/#organization\",\"name\":\"Laravel Forge\",\"url\":\"https://laravel.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/forge-laravel/sHyXHYyrLoATu64X/logo/logo.svg?fit=max\u0026auto=format\u0026n=sHyXHYyrLoATu64X\u0026q=85\u0026s=469c693d945743b5870032ffac8d67b7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://laravel.com/forge/docs#website\",\"name\":\"Laravel Forge\",\"url\":\"https://laravel.com/forge/docs\",\"publisher\":{\"@id\":\"https://laravel.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://laravel.com/forge/docs/knowledge-base/cve-2026-31431#webpage\",\"url\":\"https://laravel.com/forge/docs/knowledge-base/cve-2026-31431\",\"name\":\"Copy Fail security advisory (CVE-2026-31431)\",\"description\":\"Security advisory for the Copy Fail Linux kernel privilege escalation vulnerability affecting Laravel Forge servers.\",\"dateModified\":\"2026-11-06T15:25:04.060Z\",\"isPartOf\":{\"@id\":\"https://laravel.com/forge/docs#website\"},\"breadcrumb\":{\"@id\":\"https://laravel.com/forge/docs/knowledge-base/cve-2026-31431#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://laravel.com/forge/docs/knowledge-base/cve-2026-31431#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Security Advisories\",\"item\":\"https://laravel.com/forge/docs/knowledge-base/php-security-release-october-2026\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Copy Fail security advisory (CVE-2026-31431)\",\"item\":\"https://laravel.com/forge/docs/knowledge-base/cve-2026-31431\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://laravel.com/forge/docs/knowledge-base/cve-2026-31431#article\",\"headline\":\"Copy Fail security advisory (CVE-2026-31431)\",\"name\":\"Copy Fail security advisory (CVE-2026-31431)\",\"description\":\"Security advisory for the Copy Fail Linux kernel privilege escalation vulnerability affecting Laravel Forge servers.\",\"url\":\"https://laravel.com/forge/docs/knowledge-base/cve-2026-31431\",\"mainEntityOfPage\":{\"@id\":\"https://laravel.com/forge/docs/knowledge-base/cve-2026-31431#webpage\"},\"dateModified\":\"2026-11-06T15:25:04.060Z\",\"publisher\":{\"@id\":\"https://laravel.com/#organization\"},\"isPartOf\":{\"@id\":\"https://laravel.com/forge/docs#website\"}}]}\u003c/script>","siteName":"Laravel Forge","nav":{"global":{"anchors":[{"anchor":"Community","icon":"discord","href":"https://discord.gg/laravel"},{"anchor":"Blog","icon":"newspaper","href":"https://blog.laravel.com"},{"anchor":"Status","icon":"heart-pulse","href":"https://status.on-forge.com"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"Knowledge Base","groups":[{"group":"Troubleshooting","pages":[{"title":"Servers","sidebarTitle":"Servers","href":"/knowledge-base/servers"},{"title":"Sites","sidebarTitle":"Sites","href":"/knowledge-base/sites"},{"title":"Networks","href":"/knowledge-base/networks"},{"title":"Cookbook","href":"/knowledge-base/scheduled-jobs"},{"title":"Source Control","sidebarTitle":"Source Control","href":"/knowledge-base/source-control"}]},{"group":"Security Advisories","pages":[{"title":"PHP security advisory (CVE-2026-109618, CVE-2026-109619)","sidebarTitle":"Security: PHP October 2026","description":"Security advisory for the critical PHP vulnerabilities fixed in the October 21, 2026 PHP security release, and how to patch PHP on Laravel Forge servers.","href":"/knowledge-base/php-security-release-october-2026"},{"title":"Copy Fail security advisory (CVE-2026-31431)","sidebarTitle":"Security: Copy Fail advice","href":"/knowledge-base/cve-2026-31431"}]}]},{"tab":"API Reference","icon":"square-terminal","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]}]},"basePath":"","title":"Copy Fail security advisory (CVE-2026-31431) - Laravel Forge","buildId":"dpl_BSPUBxEoKhhK7HzXVDPxdPvWx4xc","deploymentId":"dpl_BSPUBxEoKhhK7HzXVDPxdPvWx4xc","dynamics":[],"chunks":[]}