mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -06:00
fix: block cpp host env overrides (#112560)
This commit is contained in:
committed by
GitHub
parent
5c9d59a881
commit
ab2ad22533
@@ -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",
|
||||
|
||||
@@ -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,
|
||||
);
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user