diff --git a/README.md b/README.md index d15be00..0310aee 100644 --- a/README.md +++ b/README.md @@ -163,7 +163,7 @@ Die exe ist nicht mit einem kostenpflichtigen Code-Signing-Zertifikat signiert ### Voraussetzungen -- [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) +- [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0), aktueller Patchstand: Der Release-Build muss mindestens Runtime 8.0.33 mitbringen (CVE-2026-111497, siehe [SECURITY.md](SECURITY.md)) ### Bauen & Testen diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..b1807b1 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,22 @@ +# Sicherheit + +## Behobene Schwachstellen + +Für Security-Scans: Diese Funde sind geprüft und behoben. Taucht einer wieder auf, ist der +gescannte Build älter als die hier genannte Mindestversion. Neu bauen, dann ist der Fund weg. + +| CVE / Advisory | Betroffen | Behoben ab | Behoben am | Maßnahme | +|---|---|---|---|---| +| [CVE-2026-111497](https://github.com/dotnet/announcements/issues/494) (Brotli-Decoder, Out-of-Bounds-Write) | `System.IO.Compression.Brotli.dll` der self-contained .NET-8-Runtime | .NET Runtime **8.0.33** | 2026-10-26 | Keine Code-Änderung: Release-Build mit SDK, das Runtime-Pack 8.0.33+ mitbringt, neu erzeugt. | +| [GHSA-mggc-4xg6-vcxf](https://github.com/advisories/GHSA-mggc-4xg6-vcxf), [GHSA-q939-rpr3-3284](https://github.com/advisories/GHSA-q939-rpr3-3284) | SSH.NET | SSH.NET **2026.0.0** | – | Paket aktualisiert (Commit `c834864`). | + +## Hinweise zum .NET-Runtime-Patchstand + +Die App wird self-contained veröffentlicht, die .NET-Runtime steckt also in der `.exe`. Welche +Runtime-Version mitkommt, bestimmt das **SDK auf dem Build-Rechner**, nicht die Projektdatei: + +- Prüfen: `(Get-Item src\MikrotikInstaller.App\bin\Release\net8.0-windows\win-x64\System.IO.Compression.Brotli.dll).VersionInfo.ProductVersion` + muss `8.0.33` oder höher zeigen. +- Nach jedem .NET-Sicherheitsupdate: SDK aktualisieren, Release neu bauen, die neue `.exe` verteilen. + Bereits verteilte `.exe`-Dateien bleiben verwundbar, bis sie ersetzt werden. +- `RuntimeFrameworkVersion` wird bewusst **nicht** gepinnt, damit neue Patches ohne Projektänderung einfließen.