Manifesty nástrojů v kořenové složce
.NET už v kořenové složce ve Windows nevytáhá soubory manifestu místního nástroje, pokud je nepřepíšete prostřednictvím DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT
proměnné prostředí. Tato změna nemá vliv na Linux ani macOS.
Předchozí chování
Dříve místní nástroje sady .NET SDK při hledání manifestu nástroje kontrolují kořenovou složku na všech platformách. Hledání pokračovalo z aktuálního adresáře ve stromu adresáře do kořenové složky, dokud nenalezl manifest. Na každé úrovni .NET vyhledá manifest nástroje s názvem dotnet-tools.json v podsložce .config . Pokud v systému Windows nebyl nalezen žádný jiný manifest nástroje, sada SDK nakonec hledala manifest nástroje v C:\.config\dotnet-tools.json.
Nové chování
.NET už ve Windows ve výchozím nastavení neprohledá v kořenové složce aktuálního stromu adresáře, pokud ji nepřepíšete prostřednictvím DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT
proměnné prostředí. DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT
je ve výchozím nastavení nastavená na false
hodnotu.
Zavedená verze
- .NET SDK 7.0.3xx
- .NET SDK 7.0.1xx
- .NET SDK 6.0.4xx
- .NET SDK 6.0.3xx
- .NET SDK 6.0.1xx
- .NET SDK 3.1.4xx
Typ zásadní změny
Tato změna je změna chování.
Důvod změny
Tato změna byla provedena, aby se vyřešila bezpečnostní obava. Vzhledem k tomu, že všichni uživatelé mohou vytvářet soubory a složky v adresáři C:\ ve Windows, útočníci s nízkými oprávněními mohou zneuctět soubor C:\.config\dotnet-tools.json. Když správce spustí dotnet
příkaz nástroje, může nástroj potenciálně číst škodlivé informace o konfiguraci ze souboru a stahovat a spouštět škodlivé nástroje.
Doporučená akce
Chcete-li zakázat nové chování, nastavte proměnnou DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT
prostředí na true
hodnotu nebo 1
.
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro