github hashicorp/vault v1.13.0

latest releases: v1.18.0-rc1, sdk/v0.14.0, api/auth/userpass/v0.8.0...
18 months ago

1.13.0

Unreleased

SECURITY:

  • secrets/ssh: removal of the deprecated dynamic keys mode. When any remaining dynamic key leases expire, an error stating secret is unsupported by this backend will be thrown by the lease manager. [GH-18874]

CHANGES:

  • auth/alicloud: require the role field on login [GH-19005]
  • auth/approle: Add maximum length of 4096 for approle role_names, as this value results in HMAC calculation [GH-17768]
  • auth: Returns invalid credentials for ldap, userpass and approle when wrong credentials are provided for existent users.
    This will only be used internally for implementing user lockout. [GH-17104]
  • core: Bump Go version to 1.20.
  • core: Vault version has been moved out of sdk and into main vault module.
    Plugins using sdk/useragent.String must instead use sdk/useragent.PluginString. [GH-14229]
  • logging: Removed legacy environment variable for log format ('LOGXI_FORMAT'), should use 'VAULT_LOG_FORMAT' instead [GH-17822]
  • plugins: Mounts can no longer be pinned to a specific builtin version. Mounts previously pinned to a specific builtin version will now automatically upgrade to the latest builtin version, and may now be overridden if an unversioned plugin of the same name and type is registered. Mounts using plugin versions without builtin in their metadata remain unaffected. [GH-18051]
  • plugins: GET /database/config/:name endpoint now returns an additional plugin_version field in the response data. [GH-16982]
  • plugins: GET /sys/auth/:path/tune and GET /sys/mounts/:path/tune endpoints may now return an additional plugin_version field in the response data if set. [GH-17167]
  • plugins: GET for /sys/auth, /sys/auth/:path, /sys/mounts, and /sys/mounts/:path paths now return additional plugin_version, running_plugin_version and running_sha256 fields in the response data for each mount. [GH-17167]
  • secrets/aws: do not create leases for non-renewable/non-revocable STS credentials to reduce storage calls [GH-15869]
  • sys/internal/inspect: Turns of this endpoint by default. A SIGHUP can now be used to reload the configs and turns this endpoint on.
  • ui: Upgrade Ember to version 4.4.0 [GH-17086]

FEATURES:

  • New PKI UI: Add beta support for new and improved PKI UI [GH-18842]
  • Server UDS Listener: Adding listener to Vault server to serve http request via unix domain socket [GH-18227]
  • Transit managed keys: The transit secrets engine now supports configuring and using managed keys
  • ui: Adds Kubernetes secrets engine [GH-17893]

IMPROVEMENTS:

  • Redis ElastiCache DB Engine: Renamed configuration parameters for disambiguation; old parameters still supported for compatibility. [GH-18752]
  • Reduced binary size [GH-17678]
  • agent/config: Allow config directories to be specified with -config, and allow multiple -configs to be supplied. [GH-18403]
  • agent: Add note in logs when starting Vault Agent indicating if the version differs to the Vault Server. [GH-18684]
  • agent: Added token_file auto-auth configuration to allow using a pre-existing token for Vault Agent. [GH-18740]
  • agent: Agent listeners can now be to be the metrics_only role, serving only metrics, as part of the listener's new top level role option. [GH-18101]
  • agent: Configured Vault Agent listeners now listen without the need for caching to be configured. [GH-18137]
  • agent: allows some parts of config to be reloaded without requiring a restart. [GH-18638]
  • agent: fix incorrectly used loop variables in parallel tests and when finalizing seals [GH-16872]
  • api: Remove dependency on sdk module. [GH-18962]
  • api: Support VAULT_DISABLE_REDIRECTS environment variable (and --disable-redirects flag) to disable default client behavior and prevent the client following any redirection responses. [GH-17352]
  • audit: Add elide_list_responses option, providing a countermeasure for a common source of oversized audit log entries [GH-18128]
  • audit: Include stack trace when audit logging recovers from a panic. [GH-18121]
  • auth/alicloud: upgrades dependencies [GH-18021]
  • auth/azure: Adds support for authentication with Managed Service Identity (MSI) from a
    Virtual Machine Scale Set (VMSS) in flexible orchestration mode. [GH-17540]
  • auth/azure: upgrades dependencies [GH-17857]
  • auth/cert: Add configurable support for validating client certs with OCSP. [GH-17093]
  • auth/cert: Support listing provisioned CRLs within the mount. [GH-18043]
  • auth/gcp: Upgrades dependencies [GH-17858]
  • auth/token (enterprise): Allow batch token creation in perfStandby nodes
  • auth: Allow naming login MFA methods and using those names instead of IDs in satisfying MFA requirement for requests.
    Make passcode arguments consistent across login MFA method types. [GH-18610]
  • auth: Provide an IP address of the requests from Vault to a Duo challenge after successful authentication. [GH-18811]
  • cli/kv: improve kv CLI to remove data or custom metadata using kv patch [GH-18067]
  • cli/pki: Add List-Intermediates functionality to pki client. [GH-18463]
  • cli/pki: Add health-check subcommand to evaluate the health of a PKI instance. [GH-17750]
  • cli/pki: Add pki issue command, which creates a CSR, has a vault mount sign it, then reimports it. [GH-18467]
  • cli: Add support for creating requests to existing non-KVv2 PATCH-capable endpoints. [GH-17650]
  • cli: Add transit import key helper commands for BYOK to Transit/Transform. [GH-18887]
  • cli: Support the -format=raw option, to read non-JSON Vault endpoints and original response bodies. [GH-14945]
  • cli: updated vault operator rekey prompts to describe recovery keys when -target=recovery [GH-18892]
  • client/pki: Add a new command verify-sign which checks the relationship between two certificates. [GH-18437]
  • command/server: Environment variable keys are now logged at startup. [GH-18125]
  • core/fips: use upstream toolchain for FIPS 140-2 compliance again; this will appear as X=boringcrypto on the Go version in Vault server logs.
  • core/identity: Add machine-readable output to body of response upon alias clash during entity merge [GH-17459]
  • core/server: Added an environment variable to write goroutine stacktraces to a
    temporary file for SIGUSR2 signals. [GH-17929]
  • core: Add RPCs to read and update userFailedLoginInfo map
  • core: Add experiments system and events.alpha1 experiment. [GH-18682]
  • core: Add read support to sys/loggers and sys/loggers/:name endpoints [GH-17979]
  • core: Add user lockout field to config and configuring this for auth mount using auth tune to prevent brute forcing in auth methods [GH-17338]
  • core: Add vault.core.locked_users telemetry metric to emit information about total number of locked users. [GH-18718]
  • core: Added sys/locked-users endpoint to list locked users. Changed api endpoint from
    sys/lockedusers/[mount_accessor]/unlock/[alias_identifier] to sys/locked-users/[mount_accessor]/unlock/[alias_identifier]. [GH-18675]
  • core: Added sys/lockedusers/[mount_accessor]/unlock/[alias_identifier] endpoint to unlock an user
    with given mount_accessor and alias_identifier if locked [GH-18279]
  • core: Added warning to /sys/seal-status and vault status command if potentially dangerous behaviour overrides are being used. [GH-17855]
  • core: Implemented background thread to update locked user entries every 15 minutes to prevent brute forcing in auth methods. [GH-18673]
  • core: License location is no longer cache exempt, meaning sys/health will not contribute as greatly to storage load when using consul as a storage backend. [GH-17265]
  • core: Update protoc from 3.21.5 to 3.21.7 [GH-17499]
  • core: add detect_deadlocks config to optionally detect core state deadlocks [GH-18604]
  • core: added changes for user lockout workflow. [GH-17951]
  • core: parallelize backend initialization to improve startup time for large numbers of mounts. [GH-18244]
  • database/postgres: Support multiline strings for revocation statements. [GH-18632]
  • database/snowflake: Allow parallel requests to Snowflake [GH-17593]
  • hcp/connectivity: Add foundational OSS support for opt-in secure communication between self-managed Vault nodes and HashiCorp Cloud Platform [GH-18228]
  • hcp/connectivity: Include HCP organization, project, and resource ID in server startup logs [GH-18315]
  • hcp/connectivity: Only update SCADA session metadata if status changes [GH-18585]
  • hcp/status: Add cluster-level status information [GH-18351]
  • hcp/status: Expand node-level status information [GH-18302]
  • logging: Vault Agent supports logging to a specified file path via environment variable, CLI or config [GH-17841]
  • logging: Vault agent and server commands support log file and log rotation. [GH-18031]
  • migration: allow parallelization of key migration for vault operator migrate in order to speed up a migration. [GH-18817]
  • namespaces (enterprise): Add new API, sys/config/group-policy-application, to allow group policies to be configurable
    to apply to a group in any namespace. The default, within_namespace_hierarchy, is the current behaviour.
  • openapi: Add default values to thing_mount_path parameters [GH-18935]
  • openapi: Add logic to generate openapi response structures [GH-18192]
  • openapi: Add openapi response definitions to approle/path_login.go & approle/path_tidy_user_id.go [GH-18772]
  • openapi: Add openapi response definitions to approle/path_role.go [GH-18198]
  • openapi: Change gen_openapi.sh to generate schema with generic mount paths [GH-18934]
  • openapi: Mark request body objects as required [GH-17909]
  • openapi: add openapi response defintions to /sys/audit endpoints [GH-18456]
  • openapi: generic_mount_paths: Move implementation fully into server, rather than partially in plugin framework; recognize all 4 singleton mounts (auth/token, cubbyhole, identity, system) rather than just 2; change parameter from {mountPath} to {<type>_mount_path} [GH-18663]
  • plugins: Add plugin version information to key plugin lifecycle log lines. [GH-17430]
  • plugins: Allow selecting builtin plugins by their reported semantic version of the form vX.Y.Z+builtin or vX.Y.Z+builtin.vault. [GH-17289]
  • plugins: Let Vault unseal and mount deprecated builtin plugins in a
    deactivated state if this is not the first unseal after an upgrade. [GH-17879]
  • plugins: Mark app-id auth method Removed and remove the plugin code. [GH-18039]
  • plugins: Mark logical database plugins Removed and remove the plugin code. [GH-18039]
  • sdk/ldap: Added support for paging when searching for groups using group filters [GH-17640]
  • sdk: Add response schema validation method framework/FieldData.ValidateStrict and two test helpers (ValidateResponse, ValidateResponseData) [GH-18635]
  • sdk: Adding FindResponseSchema test helper to assist with response schema validation in tests [GH-18636]
  • secrets/aws: Update dependencies [PR-17747] [GH-17747]
  • secrets/azure: upgrades dependencies [GH-17964]
  • secrets/db/mysql: Add tls_server_name and tls_skip_verify parameters [GH-18799]
  • secrets/gcp: Upgrades dependencies [GH-17871]
  • secrets/kubernetes: Add /check endpoint to determine if environment variables are set [GH-18] [GH-18587]
  • secrets/kv: new KVv2 mounts and KVv1 mounts without any keys will upgrade synchronously, allowing for instant use [GH-17406]
  • secrets/pki: Add a new API that returns the serial numbers of revoked certificates on the local cluster [GH-17779]
  • secrets/pki: Add support to specify signature bits when generating CSRs through intermediate/generate apis [GH-17388]
  • secrets/pki: Added a new API that allows external actors to craft a CRL through JSON parameters [GH-18040]
  • secrets/pki: Allow UserID Field (https://www.rfc-editor.org/rfc/rfc1274#section-9.3.1) to be set on Certificates when
    allowed by role [GH-18397]
  • secrets/pki: Allow issuer creation, import to change default issuer via default_follows_latest_issuer. [GH-17824]
  • secrets/pki: Allow templating performance replication cluster- and issuer-specific AIA URLs. [GH-18199]
  • secrets/pki: Allow tidying of expired issuer certificates. [GH-17823]
  • secrets/pki: Allow tidying of the legacy ca_bundle, improving startup on post-migrated, seal-wrapped PKI mounts. [GH-18645]
  • secrets/pki: Respond with written data to config/auto-tidy, config/crl, and roles/:role. [GH-18222]
  • secrets/pki: Return issuer_id and issuer_name on /issuer/:issuer_ref/json endpoint. [GH-18482]
  • secrets/pki: Return new fields revocation_time_rfc3339 and issuer_id to existing certificate serial lookup api if it is revoked [GH-17774]
  • secrets/ssh: Allow removing SSH host keys from the dynamic keys feature. [GH-18939]
  • secrets/ssh: Evaluate ssh validprincipals user template before splitting [GH-16622]
  • secrets/transit: Add an optional reference field to batch operation items
    which is repeated on batch responses to help more easily correlate inputs with outputs. [GH-18243]
  • secrets/transit: Add associated_data parameter for additional authenticated data in AEAD ciphers [GH-17638]
  • secrets/transit: Add support for PKCSv1_5_NoOID RSA signatures [GH-17636]
  • secrets/transit: Allow configuring whether upsert of keys is allowed. [GH-18272]
  • storage/raft: Add retry_join_as_non_voter config option. [GH-18030]
  • storage/raft: add additional raft metrics relating to applied index and heartbeating; also ensure OSS standbys emit periodic metrics. [GH-12166]
  • sys/internal/inspect: Creates an endpoint to look to inspect internal subsystems. [GH-17789]
  • sys/internal/inspect: Creates an endpoint to look to inspect internal subsystems.
  • ui: Add algorithm-signer as a SSH Secrets Engine UI field [GH-10299]
  • ui: Add inline policy creation when creating an identity entity or group [GH-17749]
  • ui: Added JWT authentication warning message about blocked pop-up windows and web browser settings. [GH-18787]
  • ui: Enable typescript for future development [GH-17927]
  • ui: Prepends "passcode=" if not provided in user input for duo totp mfa method authentication [GH-18342]
  • ui: Update language on database role to "Connection name" [GH-18261] [GH-18350]
  • ui: consolidate all tag usage [GH-17866]
  • ui: mfa: use proper request id generation [GH-17835]
  • ui: update DocLink component to use new host url: developer.hashicorp.com [GH-18374]
  • ui: update TTL picker for consistency [GH-18114]
  • ui: use the combined activity log (partial + historic) API for client count dashboard and remove use of monthly endpoint [GH-17575]
  • vault/diagnose: Upgrade go.opentelemetry.io/otel, go.opentelemetry.io/otel/sdk, go.opentelemetry.io/otel/trace to v1.11.2 [GH-18589]

BUG FIXES:

  • api: Remove timeout logic from ReadRaw functions and add ReadRawWithContext [GH-18708]
  • auth/alicloud: fix regression in vault login command that caused login to fail [GH-19005]
  • auth/approle: Fix token_bound_cidrs validation when using /32 blocks for role and secret ID [GH-18145]
  • auth/cert: Address a race condition accessing the loaded crls without a lock [GH-18945]
  • auth/kubernetes: Ensure a consistent TLS configuration for all k8s API requests [#173] [GH-18716]
  • auth/okta: fix a panic for AuthRenew in Okta [GH-18011]
  • auth: Deduplicate policies prior to ACL generation [GH-17914]
  • cli/kv: skip formatting of nil secrets for patch and put with field parameter set [GH-18163]
  • cli: Fix issue preventing kv commands from executing properly when the mount path provided by -mount flag and secret key path are the same. [GH-17679]
  • cli: Fix vault read handling to return raw data as secret.Data when there is no top-level data object from api response. [GH-17913]
  • cli: Remove empty table heading for vault secrets list -detailed output. [GH-17577]
  • command/namespace: Fix vault cli namespace patch examples in help text. [GH-18143]
  • core (enterprise): Fix missing quotation mark in error message
  • core (enterprise): Fix panic that could occur with SSCT alongside invoking external plugins for revocation.
  • core (enterprise): Supported storage check in vault server command will no longer prevent startup. Instead, a warning will be logged if configured to use storage backend other than raft or consul.
  • core/activity: add namespace breakdown for new clients when date range spans multiple months, including the current month. [GH-18766]
  • core/activity: de-duplicate namespaces when historical and current month data are mixed [GH-18452]
  • core/activity: fix the end_date returned from the activity log endpoint when partial counts are computed [GH-17856]
  • core/activity: include mount counts when de-duplicating current and historical month data [GH-18598]
  • core/activity: report mount paths (rather than mount accessors) in current month activity log counts and include deleted mount paths in precomputed queries. [GH-18916]
  • core/activity: return partial month counts when querying a historical date range and no historical data exists. [GH-17935]
  • core/auth: Return a 403 instead of a 500 for wrapping requests when token is not provided [GH-18859]
  • core/managed-keys (enterprise): Limit verification checks to mounts in a key's namespace
  • core/managed-keys (enterprise): Return better error messages when encountering key creation failures
  • core/managed-keys (enterprise): Switch to using hash length as PSS Salt length within the test/sign api for better PKCS#11 compatibility
  • core/quotas (enterprise): Fix a lock contention issue that could occur and cause Vault to become unresponsive when creating, changing, or deleting lease count quotas.
  • core/quotas (enterprise): Fix a potential deadlock that could occur when using lease count quotas.
  • core/quotas: Fix issue with improper application of default rate limit quota exempt paths [GH-18273]
  • core/seal: Fix regression handling of the key_id parameter in seal configuration HCL. [GH-17612]
  • core: Fix panic caused in Vault Agent when rendering certificate templates [GH-17419]
  • core: Fix potential deadlock if barrier ciphertext is less than 4 bytes. [GH-17944]
  • core: Fix spurious permission denied for all HelpOperations on sudo-protected paths [GH-18568]
  • core: Fix vault operator init command to show the right curl string with -output-curl-string and right policy hcl with -output-policy [GH-17514]
  • core: Fixes spurious warnings being emitted relating to "unknown or unsupported fields" for JSON config [GH-17660]
  • core: Prevent panics in sys/leases/lookup, sys/leases/revoke, and sys/leases/renew endpoints if provided lease_id is null [GH-18951]
  • core: Refactor lock grabbing code to simplify stateLock deadlock investigations [GH-17187]
  • core: fix GPG encryption to support subkeys. [GH-16224]
  • core: fix a start up race condition where performance standbys could go into a
    mount loop if default policies are not yet synced from the active node. [GH-17801]
  • core: fix bug where context cancellations weren't forwarded to active node from performance standbys.
  • core: fix race when using SystemView.ReplicationState outside of a request context [GH-17186]
  • core: prevent memory leak when using control group factors in a policy [GH-17532]
  • core: prevent panic during mfa after enforcement's namespace is deleted [GH-17562]
  • core: prevent panic in login mfa enforcement delete after enforcement's namespace is deleted [GH-18923]
  • core: trying to unseal with the wrong key now returns HTTP 400 [GH-17836]
  • credential/cert: adds error message if no tls connection is found during the AliasLookahead operation [GH-17904]
  • database/mongodb: Fix writeConcern set to be applied to any query made on the database [GH-18546]
  • expiration: Prevent panics on perf standbys when an irrevocable lease gets deleted. [GH-18401]
  • licensing (enterprise): update autoloaded license cache after reload
  • login: Store token in tokenhelper for interactive login MFA [GH-17040]
  • openapi: Fix many incorrect details in generated API spec, by using better techniques to parse path regexps [GH-18554]
  • openapi: fix gen_openapi.sh script to correctly load vault plugins [GH-17752]
  • plugins/kv: KV v2 returns 404 instead of 500 for request paths that incorrectly include a trailing slash. [GH-17339]
  • plugins: Allow running external plugins which override deprecated builtins. [GH-17879]
  • plugins: Corrected the path to check permissions on when the registered plugin name does not match the plugin binary's filename. [GH-17340]
  • plugins: Listing all plugins while audit logging is enabled will no longer result in an internal server error. [GH-18173]
  • plugins: Only report deprecation status for builtin plugins. [GH-17816]
  • plugins: Skip loading but still mount data associated with missing plugins on unseal. [GH-18189]
  • plugins: Vault upgrades will no longer fail if a mount has been created using an explicit builtin plugin version. [GH-18051]
  • sdk: Don't panic if system view or storage methods called during plugin setup. [GH-18210]
  • secret/pki: fix bug with initial legacy bundle migration (from < 1.11 into 1.11+) and missing issuers from ca_chain [GH-17772]
  • secrets/pki: Address nil panic when an empty POST request is sent to the OCSP handler [GH-18184]
  • secrets/pki: Allow patching issuer to set an empty issuer name. [GH-18466]
  • secrets/pki: Do not read revoked certificates from backend when CRL is disabled [GH-17385]
  • secrets/pki: Fix upgrade of missing expiry, delta_rebuild_interval by setting them to the default. [GH-17693]
  • secrets/pki: Fixes duplicate otherName in certificates created by the sign-verbatim endpoint. [GH-16700]
  • secrets/pki: OCSP GET request parameter was not being URL unescaped before processing. [GH-18938]
  • secrets/pki: Respond to tidy-status, tidy-cancel on PR Secondary clusters. [GH-17497]
  • secrets/pki: consistently use UTC for CA's notAfter exceeded error message [GH-18984]
  • secrets/pki: fix race between tidy's cert counting and tidy status reporting. [GH-18899]
  • secrets/transit: Do not warn about unrecognized parameter 'batch_input' [GH-18299]
  • secrets/transit: Honor partial_success_response_code on decryption failures. [GH-18310]
  • storage/raft (enterprise): An already joined node can rejoin by wiping storage
    and re-issueing a join request, but in doing so could transiently become a
    non-voter. In some scenarios this resulted in loss of quorum. [GH-18263]
  • storage/raft: Don't panic on unknown raft ops [GH-17732]
  • storage/raft: Fix race with follower heartbeat tracker during teardown. [GH-18704]
  • ui/keymgmt: Sets the defaultValue for type when creating a key. [GH-17407]
  • ui: Fixes issue with not being able to download raft snapshot via service worker [GH-17769]
  • ui: Fixes oidc/jwt login issue with alternate mount path and jwt login via mount path tab [GH-17661]
  • ui: Remove default value of 30 to TtlPicker2 if no value is passed in. [GH-17376]
  • ui: cleanup unsaved auth method ember data record when navigating away from mount backend form [GH-18651]
  • ui: fix entity policies list link to policy show page [GH-17950]
  • ui: fixes query parameters not passed in api explorer test requests [GH-18743]

Don't miss a new vault release

NewReleases is sending notifications on new releases.