Affected versions of this crate did not properly check for recursion while deserializing aliases.
This allows an attacker to make a YAML file with an alias referring to itself causing an abort.
The flaw was corrected by checking the recursion depth.
This project might be open to known security vulnerabilities, which can be prevented by tightening the version range of affected dependencies. Find detailed information at the bottom.
krator(17 total, 8 outdated, 3 possibly insecure)
| Crate | Required | Latest | Status |
|---|---|---|---|
| anyhow | ^1.0 | 1.0.100 | up to date |
| async-trait | ^0.1 | 0.1.89 | up to date |
| futures | ^0.3 | 0.3.31 | up to date |
| json-patch | ^0.2 | 4.1.0 | out of date |
| k8s-openapi | ^0.13 | 0.26.0 | out of date |
| krator-derive | ^0.4 | 0.5.0 | out of date |
| kube | ^0.60 | 2.0.1 | out of date |
| kube-runtime | ^0.60 | 2.0.1 | out of date |
| rcgen | ^0.8.9 | 0.14.5 | out of date |
| serde | ^1.0 | 1.0.228 | up to date |
| serde_json | ^1.0 | 1.0.145 | up to date |
| serde_yaml ⚠️ | ^0.8 | 0.9.34+deprecated | out of date |
| tokio ⚠️ | ^1.0 | 1.48.0 | maybe insecure |
| tokio-stream | ^0.1 | 0.1.17 | up to date |
| tracing | ^0.1 | 0.1.41 | up to date |
| tracing-futures | ^0.2 | 0.2.5 | up to date |
| warp ⚠️ | ^0.3 | 0.4.2 | out of date |
(12 total, 9 outdated, 3 possibly insecure)
| Crate | Required | Latest | Status |
|---|---|---|---|
| chrono ⚠️ | ^0.4 | 0.4.42 | maybe insecure |
| compiletest_rs | ^0.7 | 0.11.2 | out of date |
| k8s-openapi | ^0.13 | 0.26.0 | out of date |
| kube-derive | ^0.60 | 2.0.1 | out of date |
| opentelemetry-jaeger | ^0.11 | 0.22.0 | out of date |
| rand | ^0.8 | 0.9.2 | out of date |
| schemars | ^0.8 | 1.0.4 | out of date |
| serde_yaml ⚠️ | ^0.8 | 0.9.34+deprecated | out of date |
| structopt | ^0.3 | 0.3.26 | up to date |
| tokio ⚠️ | ^1.0 | 1.48.0 | maybe insecure |
| tracing-opentelemetry | ^0.11 | 0.32.0 | out of date |
| tracing-subscriber | ^0.2 | 0.3.20 | out of date |
serde_yaml: Uncontrolled recursion leads to abort in deserializationAffected versions of this crate did not properly check for recursion while deserializing aliases.
This allows an attacker to make a YAML file with an alias referring to itself causing an abort.
The flaw was corrected by checking the recursion depth.
chrono: Potential segfault in `localtime_r` invocationsUnix-like operating systems may segfault due to dereferencing a dangling pointer in specific circumstances. This requires an environment variable to be set in a different thread than the affected functions. This may occur without the user's knowledge, notably in a third-party library.
No workarounds are known.
warp: Improper validation of Windows paths could lead to directory traversal attackPath resolution in warp::filters::fs::dir didn't correctly validate Windows paths
meaning paths like /foo/bar/c:/windows/web/screen/img101.png would be allowed
and respond with the contents of c:/windows/web/screen/img101.png. Thus users
could potentially read files anywhere on the filesystem.
This only impacts Windows. Linux and other unix likes are not impacted by this.
tokio: reject_remote_clients Configuration corruptionOn Windows, configuring a named pipe server with pipe_mode will force ServerOptions::reject_remote_clients as false.
This drops any intended explicit configuration for the reject_remote_clients that may have been set as true previously.
The default setting of reject_remote_clients is normally true meaning the default is also overridden as false.
Ensure that pipe_mode is set first after initializing a ServerOptions. For example:
let mut opts = ServerOptions::new();
opts.pipe_mode(PipeMode::Message);
opts.reject_remote_clients(true);