Skip to content

rust-gvm 0.9.0

Choose a tag to compare

@clawosiris clawosiris released this 05 Nov 12:50
· 15 commits to main since this release
d57605b

rust-gvm v0.9.0

rust-gvm v0.9.0 adds GOS-compatible SSH session/exec channels while preserving
direct stream-local forwarding as the default. It also establishes bounded
response, request, and session lifecycles across the client transports and
programmable mock server.

Callers upgrading from v0.8.0 should review the
v0.9.0 migration guide.
Existing SSH callers retain direct stream-local behavior. Exhaustive matches on
ParseError must account for NestingLimitExceeded, configured transport
timeouts now bound the complete response, and standalone non-loopback mock
listeners require an explicit --allow-non-loopback acknowledgement.

Highlights:

  • opt-in SshChannelMode::Exec support for restricted or forced-command SSH
    accounts, including the empty exec request used by current GOS tooling;
  • acknowledgement, rejection, timeout, early-close, retry, response-bound, and
    redaction handling for SSH exec channels;
  • one total response deadline for Unix, TLS, and SSH clients, preventing peers
    from extending requests indefinitely by trickling partial XML;
  • a structured typed-response nesting-limit error at 256 XML levels;
  • a shared 64-session mock-server limit, a 30-second incomplete-request
    deadline, cancellation-aware shutdown, and authenticated-session cleanup;
  • explicit opt-in for standalone TCP/TLS listeners that bind beyond loopback;
  • corrected stateful start_task success text matching gvmd;
  • protected-main release qualification and immutable workflow-tool inputs;
  • dependency and RustSec remediation completed before the release candidate;
  • release binaries for five targets, each with a SHA-256 checksum;
  • the Linux amd64/arm64 mock-server image at
    ghcr.io/greenbone-hive/gvm-mock-server:v0.9.0 (no moving latest tag);
  • CycloneDX JSON and XML SBOMs, an SBOM quality report, checksums, and Sigstore
    provenance for downloadable artifacts and the container image.

The release artifacts are built from the immutable v0.9.0 tag and verified
against its exact qualified protected-main commit before publication completes.