Releases: spiffe/spire
Releases · spiffe/spire
Release list
v1.15.2
Immutable
release. Only release title and notes can be modified.
Added
- Support for configuring JTI claim inclusion in JWT-SVIDs at entry level (#6514)
- Experimental per-caller rate limiting for the agent Workload API and Envoy SDS (#6724)
- TLS support for the Prometheus metrics endpoint using a SPIRE SVID, with an optional SPIFFE ID allowlist (#6812)
- Optional verification of client certificate IPs in the
x509popnode attestor (#6911) - SPIFFE Broker endpoint, API, and documentation (#6915, #7112)
disable_group_name_selectorsoption for the Windows workload attestor (#6957)log_selectorsconfiguration item for the agent (#6981)- Support for two additional PQC curves (#6999)
- Tag-based key discovery support in the
aws_kmsKey Manager plugin (#7006) - Logger service for
spire-agent(#7017) - Configurable batch size for pruning attested nodes (#7100)
Security
- Migrated
github.com/docker/dockerdependencies to theirgithub.com/moby/mobyequivalents to resolve CVEs (#7078)
Changed
- Deprecation warnings now use dedicated log markers, making them easier to detect in logs (#6908)
- The OIDC Discovery Provider now warns when
allow_insecure_schemeis enabled (#6970) - The post-quantum cryptography policy is now applied to the bundle endpoint and Prometheus server (#6995)
- Attested nodes are now fetched in bulk, reducing database load in large deployments (#7022)
- Agent health check loopback calls no longer emit RPC metrics, reducing metrics noise (#6929)
- Pod and container IDs are now preferably determined from the cgroup file (#7060)
- Optimized the MySQL list entries query to reduce database CPU usage under load (#7113)
- Added AWS CA certificates for new regions to the
aws_iidnode attestor (#6879) - Documented
URISanSelectorsfor the agent SPIFFE ID template (#6872) - Datastore configuration documentation updates (#7023)
Fixed
azure_imdsnode attestation for standalone VMs (#6807)azure_imdsplugin signature validation (#6960)- The auto-created join-token alias entry is now cascade-deleted when its attested node is deleted, evicted, or pruned (#6946)
- The CA journal now survives transient datastore save failures, preserving CA continuity (#6964)
- The delegated API no longer serves JWT-SVIDs for admin or downstream entries (#6972)
- The event cache now keeps previous first/last event information when reloading (#6994)
- The structured logger is now used for rebootstrap messages, and typos were fixed (#7000)
- The
spireupstream authority plugin now validates a missing Workload API endpoint (#7008) - The
gcp_kmsplugin no longer intermittently fails to retrieve a newly created public key (#6924) - Tolerate
mountinfolines with an empty mount source (#7044) - The agent now treats failure of all attestation plugins as an overall failure and returns
Unavailable(#7045) - Fixed the
http_challengeagent name validation regex (#7066) - Corrected TTL logging in the delegated identity X.509-SVID subscriber (#7071)
spire-agentnow attempts to enableSE_DEBUG_PRIVILEGEat startup on Windows (#7073)- Data races in the built-in BundlePublisher plugins on dynamic reconfiguration (#7082)
v1.15.1
Immutable
release. Only release title and notes can be modified.
Security
- Fixed an issue in the
azure_imdsserver node attestor plugin where attested document validation anchored the first certificate in the PKCS7 certificate bag to the trusted Azure roots, while the signature was verified against a separate signer certificate resolved from the PKCS7 SignerInfo. An attacker could place a legitimate Azure metadata certificate in the bag alongside content signed by an unrelated certificate and have a forged attested document accepted, impersonating an arbitrary virtual machine during node attestation. Thank you Carlo Teubner for reporting this issue.
Changed
- Updated
golang.org/x/netto v0.55.0 andgolang.org/x/cryptoto v0.52.0.
v1.14.7
Immutable
release. Only release title and notes can be modified.
Security
- Fixed an issue in the
azure_imdsserver node attestor plugin where attested document validation anchored the first certificate in the PKCS7 certificate bag to the trusted Azure roots, while the signature was verified against a separate signer certificate resolved from the PKCS7 SignerInfo. An attacker could place a legitimate Azure metadata certificate in the bag alongside content signed by an unrelated certificate and have a forged attested document accepted, impersonating an arbitrary virtual machine during node attestation. Thank you Carlo Teubner for reporting this issue.
Changed
- Updated the Go toolchain to 1.26.3.
- Updated
golang.org/x/netto v0.55.0,golang.org/x/cryptoto v0.52.0, andgithub.com/go-jose/go-jose/v4to v4.1.4.
v1.15.0
Immutable
release. Only release title and notes can be modified.
Added
- New
account_idselector foraws_iidnodeattestor (#6697) - TLS support for the prometheus metrics sink (#6718)
- Support for specifying that X509-SVIDs for a registration entry should not be prefetched (#6360)
- The docker workload attestor now supports rootless Podman (#6798)
- PROXY protocol support for rate limiting behind load balancers (#6819)
- Support for the agent to fetch the X509-SVID for SPIFFE attestation mode from the Workload API socket (#6884)
issclaim support for WIT-SVIDs (#6857)- Instance flag support for
spire-serverandspire-agentCLI (#6789) - Experimental, optional
spiffe_idnode selector to help aliasing individual nodes (#6865) - HashiCorp Vault Key Manager plugin (#6889)
Changed
- A metric label was renamed from 'bootstraped' to 'bootstrapped' (#6503)
- Updated cosign to the v3 major release (#6493)
- Authorized entry lookup with events based cache should now be as fast as without the events based cache (#6645)
spire-agent api fetch x509returns bundles in sorted alphabetic order by trust domain (#6784)- The
k8s_psatnode attestor includes the cluster in the attestation failure logs (#6785) - Azure sdk libraries have been updated to more recent major versions. (#6494)
- The
sigstoresupport in k8s and docker attestors was promoted out of experimental (#6901, #6906) - The
spire-agentWorkloadAPI server now specifies a read buffer size which may improve memory usage with large number of connections (#6875) - Stop wrapping objects in slices when printing (#6655)
🚨 This is a potentially breaking change if you make use of the JSON output of the CLI 🚨
- Documented image selector limitations for k8s workload attestor (#6930)
gcp_iitnode attestor will now use service account email from identity token so it no longer depends onuse_instance_metadatabeing true (#6869)- Upgraded Go to 1.26.3 (#6947)
- Various testing, linter errors and improvements (#6891, #6836, #6864, #6788, #6847, #6809, #6830, #6831, #6746, #6777, #6745, #6776, #6782, #6744, #6734, #6756, #6752, #6740, #6738)
Fixed
- Potential nil panic in the
spireupstream authority plugin (#6773) - Nil panic in the
azure_imdsplugin for instances without a Network Security Group attached (#6795) azure_key_vaultkey manager plugin now supports Azure Managed HSM (#6751)- Connections to the agent Debug service would lead to "unrecognized service" errors in logs (#6878)
- An issue in the
aws_kmsplugin which would revert rotated aliases (#6805)
v1.14.6
Immutable
release. Only release title and notes can be modified.
Security
- Fixed an issue in the
aws_iidserver node attestor plugin where the RSA-2048 PKCS7 attestation path verified the PKCS7 signature against its embedded content but returned the identity document parsed from a separate, attacker-controlled field of the attestation data. An attacker who controlled any EC2 instance could impersonate any other EC2 instance during node attestation, with all downstream attestation decisions operating on the forged identity. Thank you Tianshuo Han for reporting this issue. - Fixed a TOCTOU issue in the join token data store path where concurrent attestations using the same token could each succeed because
tx.Delete()did not report when no row was deleted. The fix uses a read-modify-write transaction with row locking and verifies that exactly one row was deleted. Thank you Tianshuo Han for reporting this issue.
v1.13.6
Immutable
release. Only release title and notes can be modified.
Security
- Fixed an issue in the
aws_iidserver node attestor plugin where the RSA-2048 PKCS7 attestation path verified the PKCS7 signature against its embedded content but returned the identity document parsed from a separate, attacker-controlled field of the attestation data. An attacker who controlled any EC2 instance could impersonate any other EC2 instance during node attestation, with all downstream attestation decisions operating on the forged identity. Thank you Tianshuo Han for reporting this issue. - Fixed a TOCTOU issue in the join token data store path where concurrent attestations using the same token could each succeed because
tx.Delete()did not report when no row was deleted. The fix uses a read-modify-write transaction with row locking and verifies that exactly one row was deleted. Thank you Tianshuo Han for reporting this issue.
v1.14.5
Immutable
release. Only release title and notes can be modified.
Security
- Upgrade Go to 1.26.2 to address CVE-2026-32282, CVE-2026-32289, CVE-2026-33810, CVE-2026-27144, CVE-2026-27143, CVE-2026-32288, CVE-2026-32283, CVE-2026-27140, CVE-2026-32281
v1.13.5
Immutable
release. Only release title and notes can be modified.
Security
- Upgrade Go to 1.25.9 to address CVE-2026-32282, CVE-2026-32289, CVE-2026-27144, CVE-2026-27143, CVE-2026-32288, CVE-2026-32283, CVE-2026-27140, CVE-2026-32281
v1.14.4
Immutable
release. Only release title and notes can be modified.
Fixed - The version that the agent was reporting at startup would get replaced by an empty string every time the agent re-attests or re-news it's SVID (#6763)
v1.14.3
Immutable
release. Only release title and notes can be modified.
Added
spire-agentversion is now reported tospire-servervia the PostStatus API and visible inGetAgent/ListAgentsCLI output (#6542)
Changed
- The
RequirePQKEMTLS policy now uses the standardizedX25519MLKEM768instead of the draftx25519Kyber768Draft00(#6703) - OPA policy evaluation performance improved by ~2x, based on benchmarking, through use of partial evaluation (#6633)
Fixed
ReadOnlyEntry.Clone()was incorrectly copying theAdminboolean into theDownstreamfield when applying an output mask, causing clients ofGetAuthorizedEntriesandSyncAuthorizedEntriesto receive corrupted authorization metadata. TheAdminandDownstreambooleana were not used inspire-agentso there was no impact from this (#6636)- The periodic node cache rebuild was only executing once instead of running continuously at the configured interval (#6661)
- Race condition in the
spireupstream authority plugin during shutdown that could cause a nil pointer dereference on the bundle client (#6590) aws_iidattestor AWS request timeout increased from 5s to 20s to prevent intermittent attestation failures in large AWS Organizations (#6558)- Federated trust bundles are now fetched concurrently, reducing the chance of exceeding the agent sync timeout when there are many federation relationships (#6491)
- JWT-SVID refresh now uses a 1s timeout when a cached SVID already exists, preventing an unresponsive server from blocking delivery of a valid cached SVID (#6454)
- Documentation improvements (#6607, #6608, #6632)
Security
- Selectors are no longer logged at the agent level to avoid potential leakage of sensitive information (#6732)
- Fixed an issue where TLS session ticket resumption on the server TCP endpoint could bypass SPIFFE certificate chain validation against the current trust bundle. TLS session tickets are now disabled on the server side, ensuring
VerifyPeerCertificateruns on every connection (#6715)