CriticalPHP2Shell: is your PHP patched?

critical vulnerability

Microsoft Security Advisory CVE-2026-88092 - ASP.NET Core Security Feature Bypass Vulnerability

Published Oct 13, 2026 · updated Oct 19, 2026

What to do

  1. Upgrade to a fixed version: Microsoft.AspNetCore.App.Runtime.linux-arm 8.0.32, Microsoft.AspNetCore.App.Runtime.linux-arm64 8.0.32, Microsoft.AspNetCore.App.Runtime.linux-musl-arm 8.0.32, Microsoft.AspNetCore.App.Runtime.linux-musl-arm64 8.0.32 (see table).
  2. Redeploy and restart long-running processes so they load the fixed code.

Affected packages

Microsoft.AspNetCore.App.Runtime.linux-arm

>= 8.0.0, <= 8.0.31
8.0.32

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-arm

Microsoft.AspNetCore.App.Runtime.linux-arm64

>= 8.0.0, <= 8.0.31
8.0.32

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-arm64

Microsoft.AspNetCore.App.Runtime.linux-musl-arm

>= 8.0.0, <= 8.0.31
8.0.32

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-musl-arm

Microsoft.AspNetCore.App.Runtime.linux-musl-arm64

>= 8.0.0, <= 8.0.31
8.0.32

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-musl-arm64

Microsoft.AspNetCore.App.Runtime.linux-musl-x64

>= 8.0.0, <= 8.0.31
8.0.32

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-musl-x64

Microsoft.AspNetCore.App.Runtime.linux-x64

>= 8.0.0, <= 8.0.31
8.0.32

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-x64

Microsoft.AspNetCore.App.Runtime.osx-arm64

>= 8.0.0, <= 8.0.31
8.0.32

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.osx-arm64

Microsoft.AspNetCore.App.Runtime.osx-x64

>= 8.0.0, <= 8.0.31
8.0.32

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.osx-x64

Microsoft.AspNetCore.App.Runtime.win-arm64

>= 8.0.0, <= 8.0.31
8.0.32

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.win-arm64

Microsoft.AspNetCore.App.Runtime.win-x64

>= 8.0.0, <= 8.0.31
8.0.32

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.win-x64

Microsoft.AspNetCore.App.Runtime.win-x86

>= 8.0.0, <= 8.0.31
8.0.32

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.win-x86

Microsoft.AspNetCore.App.Runtime.linux-arm

>= 10.0.0, <= 10.0.12
10.0.13

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-arm

Microsoft.AspNetCore.App.Runtime.linux-arm64

>= 10.0.0, <= 10.0.12
10.0.13

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-arm64

Microsoft.AspNetCore.App.Runtime.linux-musl-arm

>= 10.0.0, <= 10.0.12
10.0.13

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-musl-arm

Microsoft.AspNetCore.App.Runtime.linux-musl-arm64

>= 10.0.0, <= 10.0.12
10.0.13

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-musl-arm64

Microsoft.AspNetCore.App.Runtime.linux-musl-x64

>= 10.0.0, <= 10.0.12
10.0.13

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-musl-x64

Microsoft.AspNetCore.App.Runtime.linux-x64

>= 10.0.0, <= 10.0.12
10.0.13

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-x64

Microsoft.AspNetCore.App.Runtime.osx-arm64

>= 10.0.0, <= 10.0.12
10.0.13

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.osx-arm64

Microsoft.AspNetCore.App.Runtime.osx-x64

>= 10.0.0, <= 10.0.12
10.0.13

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.osx-x64

Microsoft.AspNetCore.App.Runtime.win-arm64

>= 10.0.0, <= 10.0.12
10.0.13

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.win-arm64

Microsoft.AspNetCore.App.Runtime.win-x64

>= 10.0.0, <= 10.0.12
10.0.13

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.win-x64

Microsoft.AspNetCore.App.Runtime.win-x86

>= 10.0.0, <= 10.0.12
10.0.13

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.win-x86

Microsoft.AspNetCore.App.Runtime.linux-arm

>= 11.0.0-preview.1, <= 11.0.0-rc.1
11.0.0-rc.2

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-arm

Microsoft.AspNetCore.App.Runtime.linux-arm64

>= 11.0.0-preview.1, <= 11.0.0-rc.1
11.0.0-rc.2

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-arm64

Microsoft.AspNetCore.App.Runtime.linux-musl-arm

>= 11.0.0-preview.1, <= 11.0.0-rc.1
11.0.0-rc.2

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-musl-arm

Microsoft.AspNetCore.App.Runtime.linux-musl-arm64

>= 11.0.0-preview.1, <= 11.0.0-rc.1
11.0.0-rc.2

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-musl-arm64

Microsoft.AspNetCore.App.Runtime.linux-musl-x64

>= 11.0.0-preview.1, <= 11.0.0-rc.1
11.0.0-rc.2

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-musl-x64

Microsoft.AspNetCore.App.Runtime.linux-x64

>= 11.0.0-preview.1, <= 11.0.0-rc.1
11.0.0-rc.2

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-x64

Microsoft.AspNetCore.App.Runtime.osx-arm64

>= 11.0.0-preview.1, <= 11.0.0-rc.1
11.0.0-rc.2

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.osx-arm64

Microsoft.AspNetCore.App.Runtime.osx-x64

>= 11.0.0-preview.1, <= 11.0.0-rc.1
11.0.0-rc.2

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.osx-x64

Microsoft.AspNetCore.App.Runtime.win-arm64

>= 11.0.0-preview.1, <= 11.0.0-rc.1
11.0.0-rc.2

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.win-arm64

Microsoft.AspNetCore.App.Runtime.win-x64

>= 11.0.0-preview.1, <= 11.0.0-rc.1
11.0.0-rc.2

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.win-x64

Microsoft.AspNetCore.App.Runtime.win-x86

>= 11.0.0-preview.1, <= 11.0.0-rc.1
11.0.0-rc.2

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.win-x86

Microsoft.AspNetCore.App.Runtime.linux-arm

>= 9.0.0, <= 9.0.20
9.0.21

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-arm

Microsoft.AspNetCore.App.Runtime.linux-arm64

>= 9.0.0, <= 9.0.20
9.0.21

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-arm64

Microsoft.AspNetCore.App.Runtime.linux-musl-arm

>= 9.0.0, <= 9.0.20
9.0.21

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-musl-arm

Microsoft.AspNetCore.App.Runtime.linux-musl-arm64

>= 9.0.0, <= 9.0.20
9.0.21

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-musl-arm64

Microsoft.AspNetCore.App.Runtime.linux-musl-x64

>= 9.0.0, <= 9.0.20
9.0.21

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-musl-x64

Microsoft.AspNetCore.App.Runtime.linux-x64

>= 9.0.0, <= 9.0.20
9.0.21

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.linux-x64

Microsoft.AspNetCore.App.Runtime.osx-arm64

>= 9.0.0, <= 9.0.20
9.0.21

Check your project: dotnet list package --include-transitive | grep -i Microsoft.AspNetCore.App.Runtime.osx-arm64

Sources

← All critical vulnerabilities