Lezen in het Engels

Share via


Hulpprogrammamanifesten in hoofdmap

.NET zoekt niet langer naar manifestbestanden van lokale hulpprogramma's in de hoofdmap in Windows, tenzij deze worden overschreven via de DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT omgevingsvariabele. Deze wijziging heeft geen invloed op Linux of macOS.

Vorig gedrag

Voorheen hebben lokale .NET SDK-hulpprogramma's de hoofdmap op alle platforms gecontroleerd bij het zoeken naar een hulpprogrammamanifest. De zoekopdracht is voortgezet vanuit de huidige map in de mapstructuur naar de hoofdmap totdat er een manifest is gevonden. Op elk niveau zoekt .NET naar het hulpprogrammamanifest, met de naam dotnet-tools.json, in een .config-submap . Als op een Windows-systeem geen ander hulpprogrammamanifest is gevonden, heeft de SDK uiteindelijk gezocht naar een hulpprogrammamanifest in C:\.config\dotnet-tools.json.

Nieuw gedrag

.NET zoekt niet meer in de hoofdmap van de huidige mapstructuur in Windows, tenzij deze wordt overschreven via de DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT omgevingsvariabele. DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT is standaard ingesteld false op.

Versie geïntroduceerd

  • .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

Type wijziging die fouten veroorzaken

Deze wijziging is een gedragswijziging.

Reden voor wijziging

Deze wijziging is aangebracht om een beveiligingsprobleem aan te pakken. Omdat alle gebruikers bestanden en mappen kunnen maken in de map C:\ in Windows, kunnen aanvallers met beperkte bevoegdheden het bestand C:\.config\dotnet-tools.json kapen. Wanneer een beheerder een dotnet hulpprogrammaopdracht uitvoert, kan het hulpprogramma mogelijk schadelijke configuratiegegevens lezen uit het bestand en schadelijke hulpprogramma's downloaden en uitvoeren.

Als u het nieuwe gedrag wilt uitschakelen, stelt u de DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT omgevingsvariabele in true op of 1.

Zie ook