fix: block cpp host env overrides (#112560)

This commit is contained in:
Pavan Kumar Gondhi
2026-07-22 19:54:24 +05:30
committed by GitHub
parent 5c9d59a881
commit ab2ad22533
5 changed files with 11 additions and 2 deletions
@@ -59,6 +59,7 @@ enum HostEnvSecurityPolicy {
"CORECLR_PROFILER_PATH",
"CPATH",
"CPLUS_INCLUDE_PATH",
"CPP",
"CURL_HOME",
"CXX",
"C_INCLUDE_PATH",
@@ -241,6 +242,7 @@ enum HostEnvSecurityPolicy {
"CONFIG_SHELL",
"CONFIG_SITE",
"CORECLR_PROFILER",
"CPP",
"CXX",
"DOTNET_ADDITIONAL_DEPS",
"DOTNET_STARTUP_HOOKS",
+1
View File
@@ -35,6 +35,7 @@
"GIT_SSL_CAINFO",
"GIT_SSL_CAPATH",
"CC",
"CPP",
"CXX",
"CARGO_BUILD_RUSTC",
"CARGO_BUILD_RUSTC_WRAPPER",
@@ -21,6 +21,7 @@
"CONFIG_SHELL",
"CONFIG_SITE",
"CORECLR_PROFILER",
"CPP",
"CXX",
"DOTNET_ADDITIONAL_DEPS",
"DOTNET_STARTUP_HOOKS",
@@ -269,5 +270,5 @@
"YARN_RC_FILENAME",
"ZDOTDIR"
],
"expectedTotalReportedEntries": 264
"expectedTotalReportedEntries": 265
}
@@ -98,7 +98,7 @@ describe("host env reported baseline coverage", () => {
baseline.reportedDangerousEverywhereKeys.length +
baseline.reportedDangerousOverrideOnlyKeys.length,
).toBe(baseline.expectedTotalReportedEntries);
expect(baseline.expectedTotalReportedEntries).toBe(264);
expect(baseline.expectedTotalReportedEntries).toBe(265);
expect(sortUniqueUpper(baseline.reportedDangerousEverywhereKeys)).toEqual(
baseline.reportedDangerousEverywhereKeys,
);
+5
View File
@@ -180,6 +180,7 @@ describe("isDangerousHostEnvVarName", () => {
expect(isDangerousHostEnvVarName("aws_web_identity_token_file")).toBe(false);
expect(isDangerousHostEnvVarName("AZURE_AUTH_LOCATION")).toBe(false);
expect(isDangerousHostEnvVarName("CC")).toBe(true);
expect(isDangerousHostEnvVarName("cpp")).toBe(true);
expect(isDangerousHostEnvVarName("cxx")).toBe(true);
expect(isDangerousHostEnvVarName("CARGO_BUILD_RUSTC")).toBe(true);
expect(isDangerousHostEnvVarName("cargo_build_rustc")).toBe(true);
@@ -384,6 +385,7 @@ describe("sanitizeHostExecEnv", () => {
AZURE_AUTH_LOCATION: "/tmp/azure-auth.json",
AWS_CONFIG_FILE: "/tmp/aws-config",
SSH_AUTH_SOCK: "/tmp/trusted-ssh-agent.sock",
CPP: "/tmp/evil-cpp",
CARGO_HOME: "/tmp/cargo",
RUSTUP_DIST_ROOT: "https://mirror.example.test/deprecated-dist",
RUSTUP_DIST_SERVER: "https://mirror.example.test",
@@ -519,6 +521,7 @@ describe("sanitizeHostExecEnv", () => {
["BASH_ENV", "/tmp/pwn.sh"],
["BROWSER", "/tmp/browser"],
["CC", "/tmp/evil-cc"],
["CPP", "/tmp/evil-cpp"],
["CXX", "/tmp/evil-cxx"],
["CARGO_BUILD_RUSTC", "/tmp/evil-rustc"],
["CARGO_BUILD_RUSTC_WRAPPER", "/tmp/evil-rustc-wrapper"],
@@ -1179,6 +1182,7 @@ describe("sanitizeHostExecEnvWithDiagnostics", () => {
it("reports blocked and invalid requested overrides", () => {
const overrides = envRecord([
["PATH", "/tmp/evil"],
["CPP", "/tmp/evil-cpp"],
["CXX", "/tmp/evil-cxx"],
["CARGO_BUILD_RUSTC_WRAPPER", "/tmp/evil-rustc-wrapper"],
["CARGO_REGISTRIES_CRATES_IO_INDEX", "https://example.invalid/crates.io-index"],
@@ -1280,6 +1284,7 @@ describe("sanitizeHostExecEnvWithDiagnostics", () => {
"CONDA_PREFIX",
"CPATH",
"CPLUS_INCLUDE_PATH",
"CPP",
"CURL_CA_BUNDLE",
"CXX",
"C_INCLUDE_PATH",