Skip to content

v0.5.12

Choose a tag to compare

@kvinwang kvinwang released this 13 Oct 02:50
· 3268 commits to next since this release
43f69f4

Security maintenance release for the 0.5 line. It contains only guest-side fixes backported from 0.6, and ships in the meta-dstack v0.5.12 guest OS image. KMS, Gateway and Verifier are unchanged, so there are no new component releases.

We recommend upgrading to dstack 0.6.1. The 0.5 line receives security fixes only.

Guest agent

  • Reject container names that are not valid Docker names in the /logs/<name> route (public_logs), so the name cannot redirect the request to another Docker API endpoint (#1443, backport of #1442).
  • Run quote, attestation and RTMR-extension calls off the async executor, queued behind one lock. Info now serves cached identity fields, and the demo-cert request is single-flight with a 30s retry floor. Before this, a burst of anonymous Info calls could stall the agent past its systemd watchdog (#1448, backport of #1256 and #1263).
  • Reject inverted or unrepresentable GetTlsKey validity bounds with an error instead of aborting (#1447, backport of #894 and #1232).
  • The guest's KMS client requires the kms:rpc usage on the KMS server certificate, so an app certificate signed under the same root cannot stand in for the KMS (#1447, guest part of #1255).

Guest setup (dstack-util)

  • Quote values containing \r, and escape backslashes, in the systemd environment file generated from the app's encrypted env, so a value cannot inject additional variables (#1445, backport of #1243).
  • Write app keys, the decrypted env, generated private keys, the gateway key cache and the WireGuard config owner-only (#1445, backport of #883, #891 and #1233).
  • Bound the LUKS2 keyslot area to the metadata region, including the overflow case (#1446, backport of #799 and #1280).
  • Bound host-shared file copies by bytes read, open them non-blocking, and require regular files. Mount the host share nosuid,nodev,noexec (#1446, backport of #1317 and #1254).
  • remove-orphans no longer deletes containers that a compose file pulls in with include: (#1446, backport of #1254).
  • app-compose.service requires dstack-prepare and the guest agent, so the app does not start if either failed (#1446, backport of #1324).

Full commit log: v0.5.11...v0.5.12