dotnet / dotnet/runtime

NET Runtime installer signing info has version in the product field requiring new application control rules every version

Open
#132,441 2 comments 0 reactions 0 assignees View on GitHub
area-Setup untriaged
Dominant language
C#
Stars
18.3k
Forks
5.6k
PR merge metrics
PR metrics pending

Description

The .NET Runtime installer is signed, thankfully, but the Product Name has the version in it, which is firstly redundant because the version is supposed to be in the file version, but also completely breaks application control capabilities because it necessitates either
a) A new rule every time an update is released, an extreme amount of effort to maintain across a large and diverse client base; or
b) Allowing this with path rules, which is a security risk given that the runtime extracts to TEMP, which is user-writable

See the screenshot which is from the AppLocker wizard for convenience of displaying the issue, but applies equally to App Control for Business.

Image

The Product Name should not change based on version. That is what the File Version field is for.

The occurrence of this issue is noticed regardless of tools used to deploy the runtime; in fact we notice this issue when deploying updates to .NET Runtime via Windows Update itself, in environments where application control technologies built into Windows are in use.

The Product Name field only supports wildcards as the entire contents of the field; i.e. it is not possible to have a publisher rule matching "MICROSOFT WINDOWS DESKTOP RUNTIME - 8.*"

Contributor guide

Open the contributing guide

Research direction

No source file or test is identified. Start by locating the .NET Runtime installer signing metadata and reproducing the Product Name and File Version values in AppLocker or App Control for Business. Done means Product Name remains stable across runtime versions while File Version changes.

Written by the indexing model from the issue text.

Assessment

Domain
release, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.