Teleport Changelog
The Teleport changelog lists changes introduced by each version of Teleport.
16.5.18 (09/29/25)
- Fixed auto-approvals in the Datadog Incident Management integration by updating the on-call API client. #59670
- Fixed auto-approvals in the Datadog Incident Management integration to ignore case sensitivity in user emails. #59670
- Fixed
tsh play
not returning an error when playing a session fails. #59627 - Fixed persistence of
metadata.description
field for the Bot resource. #59572 - Fixed an issue that prevented connecting to agents over peered tunnels when proxy peering was enabled. #59558
16.5.17 (09/23/25)
- Made the check for a running Teleport process in the install-node.sh script more robust. #59494
- Fixed
tctl edit
producing an error when trying to modify a Bot resource. #59482 - Improved app access error messages in case of network error. #59466
- Fixed database IAM configurator potentially getting stuck and never recovering (#59290). #59419
- Fixed
tsh config
binary path after managed updates. #59386
16.5.16 (09/18/25)
- Fix issue preventing auto enrollment of EKS clusters when using the Web UI. #59274
- Added desktop name for Windows Directory and Clipboard audit events. #59158
- Fixed client tools managed updates sequential update. #59090
- Install script allows specifying a group for agent installation with managed updates V2 enabled. #59061
- Added fdpass-teleport binary to install script for Teleport tar downloads. #58921
- Updated Go to 1.24.7. #58837
- Allow controlling the description of auto-discovered Kubernetes apps with an annotation. #58815
- Prevents an application from being registered if its public address matches a Teleport cluster address. #58768
Enterprise:
- Fixed an issue in the Entra ID integration where a user account with an unsupported username value could prevent other valid users and groups to be synced to Teleport. Such user accounts are now filtered.
16.5.15 (09/02/25)
- The following Helm charts now support obtaining the plugin credentials using tbot:
teleport-plugin-discord
,teleport-plugin-email
,teleport-plugin-jira
,teleport-plugin-mattermost
,teleport-plugin-msteams
,teleport-plugin-pagerduty
,teleport-plugin-event-handler
. #58302 - Fixed failure to close user accounting session. #58165
- Fixed an uncaught exception in Teleport Connect on Windows when closing the app while the
TELEPORT_TOOLS_VERSION
environment variable is set. #58133 - Added paginated API ListDatabases, deprecated GetDatabases. #58112
- Fixed a Teleport Connect crash that occurred when assuming an access request while an application or database connection was active. #58111
- Fixed modifier keys getting stuck during remote desktop sessions. #58101
- Enabled Azure joining with VMSS. #58092
- Windows desktop LDAP discovery now auto-populates the resource's description field. #58080
- TBot now emits a log message stating the current version on startup. #58058
- Improved error message when a User without any MFA devices enrolled attempts to access a resource that requires MFA. #58045
- Added
TELEPORT_UNSTABLE_GRPC_RECV_SIZE
env var which can be set to overwrite client side max grpc message size. #58027 - Fixed auto-updated client tools not using the intended version. #57872
- Updated Go to 1.24.6. #57861
- Newly enrolled Kubernetes agents in will now use Managed Updates by default. #57782
- Fixed Alt+Click not being registered in remote desktop sessions. #57755
- Kubernetes Access:
kubectl port-forward
now exits cleanly when backend pods are removed. #57741 - Kubernetes Access: Fixed a bug when forwarding multiple ports to a single pod. #57739
- Fixed unlink-package during upgrade/downgrade. #57722
- Teleport
event-handler
now accepts HTTP Status Code 204 from the recipient. This adds support for sending events to Grafana Alloy and newer Fluentd versions. #57682 - Enriched the windows.desktop.session.start audit event with additional certificate metadata. #57679
- The
tctl top
command can now display raw prometheus metrics. #57633 - Fixed a bug in the default discovery script that can happen discovering instances whose
PATH
doesn't contain/usr/local/bin
. #57532 - Make it easier to identify Windows desktop certificate issuance on the audit log page. #57519
- Fixed a bug on Windows where a forwarded SSH agent would become dysfunctional after a single connection using the agent. #57514
- The
tctl top
now respects local teleport config file. #57352 - Disabled NLA in FIPS mode. #57309
- Allow YubiKeys running 5.7.4+ firmware to be usable as PIV hardware keys. #57218
- Fixed using relative path TELEPORT_HOME env with client tools managed update. #56952
- Client tools managed updates support multi-cluster environments and track each version in the configuration file. #56952
Enterprise:
- Slightly optimized access token refresh logic for Jamf integration when using API credentials
16.5.14 (07/25/25)
- Fixed fallback for web login when second factor is set to
on
but only OTP is configured. #57160 - Removed unnecessary macOS entitlements from Teleport Connect subprocesses. #57068
- Added
--listen
flag totsh proxy db
for setting local listener address. #57032 tctl top
now supports the local unix sock debug endpoint. #57026- Updated Application APIs to use pagination to avoid exceeding message size limitations. #56954
- Added support to
tsh
App Access commands for Azure CLI (az
) version2.73.0
and newer. #56950 - Fixed a bug in the Teleport install scripts when running on MacOS. The install scripts now error instead of trying to install non existing MacOS FIPS binaries. #56943
- Update pyroscope's default client timeout and upload rate. #56733
- Updated Go to 1.23.11. #56681
- Fix tbot SPIFFE Workload API failing to renew SPIFFE SVIDs. #56664
- Fixed error on setting up Teleport Discovery Service step of the EC2 SSM web UI flow when admin action is enabled (webauthn). #56571
16.5.13 (07/02/25)
Security fixes
This release also includes fixes for the following security issues:
[Critical] Remote authentication bypass
- Removed special handling for
*ssh.Certificate
authorities in theIsHostAuthority
andIsUserAuthority
callbacks used byx/crypto/ssh.CertChecker
. #56253
Resolved an issue that allowed remote SSH authentication bypass on servers with Teleport SSH agents, OpenSSH-integrated deployments and Teleport Git proxy deployments. CVE-2025-49825. Refer to the RCA for the full details.
Other fixes and improvements
- Trait role templating is now supported in the
workload_identity_labels
Role resource field. #56298 - Updated the WindowsDesktop and WindowsDesktopService APIs to use pagination to avoid exceeding message size limitations. #56233
- Fixed duplicated entries in
tctl inventory list
when using DynamoDB as cluster state storage. #56183 - Fixed an issue that could prevent Windows desktop sessions from terminating when the idle timeout was exceeded. #56049
- Added the the
teleport-update status --is-up-to-date
flag to change the return code based on the update status. #55951 - Fixed Hardware Key Support for YubiKey firmware versions 5.7.x. #55902
- Fixed an error when creating or updating join tokens in the web UI when admin action is enabled (second_factor set to webauthn). #55852
- Fixes a memory leak in Kubernetes Access caused by resources not being cleaned up when clients terminate watch streams. #55768
- Fixed a bug that could cause Kubernetes exec requests to fail when the Kubernetes cluster had the WebSocket-based exec protocol disabled. #55733
- Fixed an issue where the output from
tctl sso configure github
could not be used withtctl create -f
in OSS Teleport. #55728 - Fixed an issue that prevented changes to default shell from propagating for host users and static host users. #55649
- Updated Go to 1.23.10. #55603
- Fixed updating the default PIN and PUK for hardware key support in Teleport Connect. #55509
- The
tbot
client now ensures theO_CLOEXEC
flag is used when opening files on Linux hosts. #55504
16.5.11 (06/05/25)
Security fixes
This patch includes some security fixes. These issues are present in previous v16 releases. Impacted users are recommended to upgrade their auth and proxy servers to the latest version.
[High] Short to long term access escalation in Okta integration
- Enterprise fix: Verify required Okta OAuth scopes during plugin creation/update.
In Okta integration configurations with enabled access lists sync, a user with an approved just-in-time access request to an Okta application could be unintentionally promoted to an access list granting access to the same application. This would result in the access to the Okta app/group persisting after the access request expiration.
This vulnerability affects Okta integration users who have access lists sync enabled. You can check whether you have an Okta integration installed with access lists sync enabled either in the Teleport web UI under Zero Trust Access / Integrations page or by running “tctl get plugins/okta” CLI command and looking at the “spec.settings.okta.sync_settings.sync_access_lists” flag.
[Medium] Unsanitized user input affecting PKINIT (Kerberos)
- Fixed users being able to overwrite host files on SQL Server database systems when using Kerberos with PKINIT flow. #55143
Other fixes and improvements
- Fixed unknown resource kinds from rendering errors in the web UI. #55210
- Fixed the formatting of the
cache_component
label for the Prometheus metricsteleport_cache_health
andteleport_cache_last_reset_seconds
. #55192 - Fixed
tctl
rendering of timestamps in BotInstance resource YAML. #55164 - Fixed an issue with Hardware Key Support on Windows where a command would fail if the PIN prompt was not answered within 5 seconds. #55109
- Fixed an issue where the "Allowed Users" field from "tsh db ls" may include irrelevant entities. #55069
- Fixed database discovery failing when there are more than 5 OpenSearch domains. #55059
16.5.10 (05/22/25)
- Disabled the "another session is active" prompt when per-session MFA is enabled, since MFA already enforces user confirmation when starting a desktop session. #54927
- Hardware Key Agent now validates known keys by checking active or expired login session. #54908
- Exposed the Teleport service cache health via Prometheus metrics. #54903
- Updated Go to 1.23.9. #54897
16.5.9 (05/15/25)
- Terraform: Fixed Access List resource import. #54803
- Fixed Proxy cache initialization errors in clusters with large amounts of open web sessions. #54782
- Resolved an issue where the Web UI failed to display an error message when desktop session initialization failed. #54765
- Prevent restrictive validation of cluster auth preferences from causing non-auth instances to become healthy. #54763
- Improved performance of joining & improved audit log entries for failed joins. #54749
- Resolved an issue that could cause Teleport Connect to crash after downgrading from a newer version. #54741
- Workload ID: Added binary_path and binary_hash to the Unix workload attestor's attributes. #54717
- Includes the attributes used in templating and rule evaluation within the audit log event for a workload identity credential issuance. #54715
- Fix an issue with PIV PIN caching where a PIN that is incorrect would be cached. #54698
- Teleport-update: full support for FIPS agent installations. #54610
16.5.8 (05/09/25)
- Fixed a bug causing a malformed user to break Teleport web UI's "Users" page. #54682
- Fixed an issue preventing connections due to missing client IPs when using class E address space with GKE or CloudFlare pseudo IPv4 forward headers. #54598
- Fixed a possible moderator/observer terminal freeze when joining a Kubernetes moderated session. #54522
- Removed background color for resources that required access request in the web UI Resources view. #54466
- Show human readable title for access list audit logs. #54458
- Fixed race conditions in
tsh ssh
multi-node output. #54455 - Fixed an issue causing Join Token expiries to be overwritten when editing a token. #54454
- Workload Identity: Fixed bugs for the Kubernetes workload attestor's container resolution. #54443
- Fixed a bug in the EC2 installer script causing
Illegal option -o pipefail
errors on several distros when Managed Updates v2 are enabled. #54430
16.5.6 (04/30/25)
- Included access request's max duration in MsTeams plugin messages. #54387
- Increased the email access plugin timeout for sending e-mails from 5 to 15 seconds. #54380
- Fixed a potential panic during Auth Server startup when the backend returns an error. #54326
- Added a Hardware Key Agent to Teleport Connect along with other significant UX improvements for Hardware Key support. With the agent enabled, Teleport Connect will handle prompts on behalf of other Teleport Clients (tsh, tctl), with an additional option to cache the PIN between client calls (New cluster option:cap.hardware_key.pin_cache_ttl). #54298
16.5.5 (04/24/25)
- Fixed incompatibility of client tools with servers older than v16.5.4. #54285
16.5.4 (04/22/25)
- User Kind is now correctly reported for Bots in the app.session.start audit log event. #54242
- Fix issue that prevent Kubernetes agents from connecting to GKE control plane using the new DNS-based access mechanism. #54217
- Teleport-update: stabilize binary paths in generated tbot config. #54179
- Reduce log spam in discovery service error messaging. #54150
- The web UI now shows role descriptions in the roles table. #54136
- Leaf cluster joining attempts that conflict with an existing cluster registered with the root now generate an error instead of failing silently. #54133
16.5.3 (04/17/25)
- Fix a bug in managed updates v1 causing updaters v2 and AWS integrations to never update if weekdays were set in the
cluster_maintenance_config
resource. #54089 - Teleport-update: ensure teleport-upgrade is always disabled when teleport-update is used. #54086
- Teleport-update: Improve defaulting for update groups. #54049
- Restrict agent update days to Mon-Thu on Cloud. #53766
16.5.2 (04/14/25)
- Workload ID: the Kubernetes, Podman, and Docker attestors now capture the container image digest. #53940
- Fixed web UI and tsh issues when a SAML metadata URL takes an unusually long time to respond. #53934
- Updated Go to 1.23.8. #53919
- Fixed Azure VM auto discovery when not filtering by resource group. #53900
- Added new
proxy_protocol_allow_downgrade
field to theproxy_service
configuration in support of environments where single stack IPv6 sources are connecting to single stack IPv4 destinations. This feature is not compatible with IP pinning. #53884
16.5.1 (04/08/25)
- Added additional tracking metadata to teleport-update. #53829
- Fixed throttling in the DynamoDB backend event stream for tables with a high amount of stream shards. #53805
- Reduce backend load in clusters with large numbers of Windows desktops. #53720
- Workload ID: Support for adding custom claims to JWT-SVIDs. #53586
- Kubernetes app discovery now supports an additional annotation for apps that are served on a sub-path of an HTTP service. #53095
16.5.0 (03/28/25)
Automatic Updates
16.5 introduces a new automatic update mechanism for system administrators to control which Teleport version their
agents are running. You can now configure the agent update schedule and desired agent version via the autoupdate_config
and autoupdate_version
resources.
Updates are performed by the new teleport-update
binary.
This new system is package manager-agnostic and opt-in. Existing agents won't be automatically enrolled, you can enroll
existing 17.3+ agents by running teleport-update enable
.
teleport-update
will become the new standard way of installing Teleport as it always picks the appropriate Teleport
edition (Community vs Enterprise), the cluster's desired version, and the correct Teleport variant (e.g. FIPS-compliant
cryptography).
You can find more information about the feature in our documentation.
Package layout changes
Starting with 16.5.0, the Teleport DEB and RPM packages, notably used by the apt
, yum
, dnf
and zypper
package
managers, will place the Teleport binaries in /opt/teleport
instead of /usr/local/bin
.
The binaries will be symlinked to their previous location, no change should be required in your scripts or systemd units.
This change allows us to do automatic updates without conflicting with the package manager.
Readiness endpoint changes
The Auth Service readiness now reflects the connectivity from the instance to
the backend storage, and the Proxy Service readiness reflects the connectivity
to the Auth Service API. In case of Auth or backend storage failure, the
instances will now turn unready. This change ensures that control plane
components can be excluded from their relevant load-balancing pools. If you want
to preserve the old behaviour (the Auth Service or Proxy Service instance stays
ready and runs in degraded mode) in the teleport-cluster
Helm chart, you can
now tune the readiness setting to have the pods become unready after a high
number of failed probes.
Other improvements and fixes
- Fix a bug causing the discovery service to fail to configure teleport on discovered nodes when managed updates v2 are enabled. #53544
- Enable support for joining Kubernetes sessions in the web UI. #53456
- Fix an issue
tsh proxy db
does not honour--db-roles
when renewing certificates. #53446 - Added static_jwks field to the GitLab join method configuration to support cases where Teleport Auth Service cannot reach the GitLab instance. #53412
- The
teleport-cluster
Helm chart now supports tuning the pod readiness. #53353 - Fix panic when trimming audit log entries. #53307
- Improve resource consumption when retrieving resources via the Web UI or tsh ls. #53303
- Fixed rare high CPU usage bug in reverse tunnel agents. #53282
- Add support for
SendEnv
OpenSSH option intsh
. #53217 - Add support for using DynamoDB Streams FIPS endpoints. #53202
- Workload ID: support for attesting Systemd services. #53109
- Machine ID: Added warning when generated certificates will not last as long as expected. #53103
- Improve latency and reduce resource consumption of generating Kubernetes certificates via tctl auth sign and tsh kube login. #52147
16.4.18 (03/18/25)
- Fixed the Teleport process to crashing on group database errors when host user creation was enabled. #53080
- Workload ID: support for attesting Docker workloads. #53070
- The event handler can now generate certificates for DNS names that are not resolvable. #53063
- Added a
--join-method
flag to theteleport configure
command. #53060 - Workload ID: support for attesting Podman workloads. #52980
- Web UI now correctly displays errors in desktop sessions when a required WebAuthn MFA device is missing. #52917
- Allow specifying the maximum number of PKCS#11 HSM connections. #52880
- Resolved an issue where desktop session recordings could have incorrect proportions. #52868
- Resolved an issue that could cause WebSocket errors to appear after the graceful shutdown of a desktop session. #52868
- Updated golang.org/x/net (addresses CVE-2025-22870). #52847
- Fix terraform provider data sources. #52817
- Machine ID: Added new Prometheus metrics to track success and failure of renewal loops. #52729
Enterprise:
- Reduce resource consumption resolving Okta applications during login. #6088
16.4.17 (03/05/25)
- Escape user provided labels when creating the shell script that enrolls servers, applications and databases into Teleport. #52705
- Support setting the public address for discovered apps based on Kubernetes annotations. #52701
- Workload ID: Support for Teleport Predicate Language in Workload Identity templates and rules. #52565
- Fixed
cannot execute: required file not found
error with theteleport-spacelift-runner
image. #52561 - Added support for X509 revocations to Workload Identity. #52502
- Updated go-jose/v4 to v4.0.5 (addresses CVE-2025-27144). #52468
- Updated /x/crypto and /x/oauth2 (addresses CVE-2025-22869 and CVE-2025-22868). #52438
- Logging out from a cluster no longer clears the client autoupdate binaries. #52338
- Added JSON response support to the
/webapi/auth/export
public certificate API endpoint. #52326 - Resolved an issue with
tbot
where the web proxy port would be used instead of the SSH proxy port when ports separate mode is in use. #52309 - Fixed Azure SQL Servers connect failures when the database agent runs on a VM scale set. #52268
- Removed the ability of
tctl
to load the default configuration file on Windows. #52189 - Added support for non-FIPS AWS endpoints for IAM and STS on FIPS binaries (
TELEPORT_UNSTABLE_DISABLE_AWS_FIPS=yes
). #52129 - Introduced the
allow_reissue
property to the tbot identity output for compatibility with tsh based reissuance. #52115
Enterprise:
- Reduce resource consumption resolving Okta applications during login.
16.4.16 (02/13/25)
Security Fixes
- Fixed security issue with arbitrary file reads on SSH nodes. #52137
- Verify that cluster name of TLS peer certs matches the cluster name of the CA that issued it to prevent Auth bypasses. #52131
Other fixes and improvements
- Fixed Postgres database access control privileges auto-provisioning to grant USAGE on schemas as needed for table privileges and fixed an issue that prevented user privileges from being revoked at the end of their session in some cases. #52100
- Updated Go to 1.23.6. #52083
- Added an escape hatch to allow non-FIPS AWS endpoints on FIPS binaries (
TELEPORT_UNSTABLE_DISABLE_AWS_FIPS=yes
). #52082 - Updated OpenSSL to 3.0.16. #52038
- Reduced CPU consumption required to map roles between clusters and perform trait to role resolution. #51940
- Client tools managed updates require a base URL for the open-source build type. #51933
- Added
securityContext
value to the tbot Helm chart. #51910 - Teleport agents always create the
debug.sock
UNIX socket. The configuration fielddebug_service.enabled
now controls if the debug and metrics endpoints are available via the UNIX socket. #51888 - Fixed connecting to Apps in a leaf cluster when Per-session MFA is enabled. #51854
- Fixed bug where role
max_duration
is not respected unless requestmax_duration
is set. #51828 - Improved
instance.join
event error messaging. #51780 - Include the
format
(indicates which format the session was accessed in) andsession_type
(represents the type of the recording, for example,ssh
) fields for thesession.recording.access
audit event. #51695 - Added support for caching Microsoft Remote Desktop Services licenses. #51685
- Added Audit Log statistics to
tctl top
. #51657 - Fixed an issue where the Postgres backend would drop App Access events. #51644
- Fixed a rare crash that can happen with malformed SAML connector. #51635
- Introduced
tsh workload-identity issue-x509
as the replacement totsh svid issue
and which is compatible with the newWorkloadIdentity
resource. #51607 - Fixed occasional Web UI session renewal issues (reverts "Avoid tight renewals for sessions with short TTL"). #51602
- Quoted the
KUBECONFIG
environment variable output by thetsh proxy kube
command. #51524 - Added support for continuous profile collection with Pyroscope. #51479
- Added support for customizing the base URL for downloading Teleport packages used in client tools managed updates. #51478
- Improved handling of client session termination during Kubernetes Exec sessions. The disconnection reason is now accurately returned for cases such as certificate expiration, forced lock activation, or idle timeout. #51455
- Fixed an issue that prevented IPs provided in the
X-Forwarded-For
header from being honored in some scenarios whenTrustXForwardedFor
is enabled. #51424 - Added support for multiple active CAs in the
/auth/export
endpoint. #51418 - Fixed a bug in GKE auto-discovery where the process failed to discover any clusters if the identity lacked permissions for one or more detected GCP project IDs. #51400
- Added support for multiple active CAs in
tctl auth export
. #51376 - Added ability to disable path-style S3 access for third-party endpoints. #51360
- Added
wildcard-workload-identity-issuer
preset role to improve Day 0 experience with configuring Teleport Workload Identity. #51346 - Improved Azure join validation by verifying subscription ID. #51329
- Added more granular audit logging surrounding SSH port forwarding. #51326
- Fixes a bug causing the
terraform-provider
preset role to not automatically allow newly supported resources. #51321 - Introduced the new
workload_identity
resource for configuring Teleport Workload Identity. #51289
16.4.14 (01/21/2025)
- Fixed WebAuthn attestation for Windows Hello. #51248
- Fixed client tools auto-updates executed by aliases (causes recursive alias error). #51182
- Include invited and reason fields in SessionStartEvents. #51176
- Updated Go to 1.22.11. #51137
- Assuming an Access Request in Teleport Connect now propagates elevated permissions to already opened Kubernetes tabs. #51056
- Fixed AWS SigV4 parse errors in app access when the application omits the optional spaces between the SigV4 components. #51044
- Fixed a Database Service bug where
db_service.resources.aws.assume_role_arn
settings could affect non-AWS dynamic databases or incorrectly overridedb_service.aws.assume_role_arn settings
. #51041 - Prevent routing issues for agentless nodes that are created with non-UUID
metadata.name
fields. #50925 - Honor the cluster routing strategy when client initiated host resolution via proxy templates or label matching is ambiguous. #50800
Enterprise:
- Okta: Fixed web UI status display for SSO-only integration.
16.4.13 (1/10/2025)
- Fixes an issue causing Azure join method to fail due to throttling. #50929
- Prevent quoting errors in log messages. #50822
- Fix an issue "tsh aws ssm start-session" fails when KMS encryption is enabled. #50797
- Updates the UI login redirection service to honor redirection to enterprise/saml-idp/sso path even if user is already authenticated with Teleport. #50794
- Fixed a Postgres database-access auto-user provisioning syntax error that caused a misleading debug level error log in most cases, unless the database admin is not a superuser and the database was upgraded from Postgres v15 or lower to Postgres v16 or higher, in which case the role "teleport-auto-user" must be granted to the database admin with the ADMIN option manually. #50783
- Fixes a bug where S3 bucket details fail to fetch due to incorrect bucket region. #50764
- Prevent panicking during shutdown when SQS consumer is disabled. #50647
- Add a --labels flag to the tctl tokens ls command. #50625
- Fix a bug in the
tbot
Helm chart causing invalid configuration when both default and custom outputs were used. #50527 - Restore the ability to play session recordings in the web UI without specifying the session duration in the URL. #50461
- Fix missing roles in Access Lists causing users to be locked out of their account. #50460
- Fixed an issue that could cause some antivirus tools to block Teleport's Device Trust feature on Windows machines. #50454
- Reverted a change that caused the Kubernetes cluster name to be displayed at the end of the tab title in Teleport Connect. #50390
Enterprise:
- Fix missing cleanup actions if the Oracle db connection is closed in its initial phases.
- Fixed an issue where the Access Graph HTTP endpoint resolution failed to retry after the initial failure.
16.4.12 (12/18/2024)
- Updated golang.org/x/net to v0.33.0 (addresses CVE-2024-45338). #50398
- Improved the performance of Teleport agents serving a large number of resources in Kubernetes. #50280
- Improve performance of Kubernetes App Auto Discover. #50268
- Properly close ssh port forwarding connections to prevent requests hanging indefinitely. #50239
- Teleport's RDP client now sets the load balancing cookie to improve compatibility with local traffic managers. #50225
- Fixes an intermittent EKS authentication failure when dealing with EKS auto-discovery. #50198
- Improved the cluster initialization process's ability to recovery from errors. #49967
16.4.11 (12/11/2024)
- Updated golang.org/x/crypto to v0.31.0 (CVE-2024-45337). #50079
- Fix tsh ssh -Y when jumping between multiple servers. #50032
- Fixed an issue preventing default shell assignment for host users. #50003
- Reduce Auth memory consumption when agents join using the azure join method. #49999
- Our OSS OS packages (rpm, deb, etc) now have up-to-date metadata. #49963
- Tsh correctly respects the --no-allow-passwordless flag. #49934
- The web session authorization dialog in Teleport Connect is now a dedicated tab, which properly shows a re-login dialog when the local session is expired. #49932
- Prevent a panic if the Auth Service does not provide a license expiry. #49877
Enterprise:
- Improved "IP mismatch" audit entries for device trust web.
- Fixed assigning suggested reviewers in the edge case when the user already has access to the requested resources.
- Users can now see a list of their enrolled devices on their Account page.
- Jamf Service sync audit events are attributed to "Jamf Service".
- Added license updater service.
- Fixed a bug where Access Lists imported from Microsoft Entra ID fail to be created if their display names include special characters.
16.4.10 (12/5/2024)
- Fixed a bug introduced in v16.4.9 breaking in-cluster joining on some Kubernetes clusters. #49842
- SSH or Kubernetes information included for audit log list for start session events. #49833
- Avoid tight web session renewals for sessions with short TTL (between 3m and 30s). #49769
- Updated Go to 1.22.10. #49759
- Added support for hardware keys in Teleport Connect. #49701
- Auto-updates for client tools (
tctl
andtsh
) are controlled by cluster configuration. #48645
16.4.9 (12/3/2024)
- Add ability to configure resource labels in
teleport-cluster
's operator sub-chart. #49648 - Fixed proxy peering listener not using the exact address specified in
peer_listen_addr
. #49590 - Teleport Connect now shows whether it is being used on a trusted device or if enrollment is required for full access. #49578
- Kubernetes in-cluster joining now also accepts tokens whose audience is the Teleport cluster name (before it only allowed the default Kubernetes audience). Kubernetes JWKS joining is unchanged and still requires tokens with the cluster name in the audience. #49557
- Restore interactive PAM authentication functionality when use_pam_auth is applied. #49519
- Session recording playback in the web UI is now searchable. #49507
- Increase CockroachDB setup timeout from 5 to 30 seconds. This mitigates the Auth Service not being able to configure TTL on slow CockroachDB event backends. #49470
- Fixed a potential panic in login rule and SAML IdP expression parser. #49431
- Support for long-running kube exec/port-forward, respect client_idle_timeout config. #49423
- Fixed a permissions error with Postgres database user auto-provisioning that occurs when the database admin is not a superuser and the database is upgraded to Postgres v16 or higher. #49389
- Teleport Connect now refreshes the resources view after dropping an Access Request. #49348
- Fixed missing user participants in session recordings listing for non-interactive Kubernetes recordings. #49344
- Support delegated joining for Bitbucket Pipelines in Machine ID. #49337
- Fix a bug in the Teleport Operator chart that causes the operator to not be able to watch secrets during secret injection. #49326
- You can now search text within ssh sessions in the Web UI and Teleport Connect. #49270
- Fixed an issue where
teleport park
processes could be leaked causing runaway resource usage. #49261 - Update tsh scp to respect proxy templates when resolving the remote host. #49227
- The
tsh puttyconfig
command now disables GSSAPI auth settings to avoid a "Not Responding" condition in PuTTY. #49190 - Resolved an issue that caused false positive errors incorrectly indicating that the YubiKey was in use by another application, while only tsh was accessing it. #47952
Enterprise:
- Jamf Service sync audit events are attributed to "Jamf Service".
- Fixed a bug where Access Lists imported from Microsoft Entra ID fail to be created if their display names include special characters.
16.4.8 (11/19/2024)
- Allow Azure VMs to join from a different subscription than their managed identity. #49157
- Fix an issue loading the license file when Teleport is started without a configuration file. #49149
- Fixed a bug in the
teleport-cluster
Helm chart that can cause token mount to fail when using ArgoCD. #49069 - Fixed app access regression to apps on leaf clusters. #49056
- Added support for directly configuring JWKS for GitHub joining for circumstances where the GHES is not reachable by the Teleport Auth Service. #49052
- Fixed issue resulting in excess CPU usage and connection resets when
teleport-event-handler
is under moderate to high load. #49036 - Fixed OpenSSH remote port forwarding not working for localhost. #49020
- Fixed
tsh app login
prompting for user login when multiple AWS roles are present. #48997 - Fixed incorrect cluster name when querying for Kubernetes namespaces on a leaf cluster for Connect UI. #48990
- Allow to override Teleport license secret name when using
teleport-cluster
Helm chart. #48979 - Added periodic health checks between proxies in proxy peering. #48929
- Fixed users not being able to connect to SQL server instances with PKINIT integration when the cluster is configured with different CAs for database access. #48924
- Fix a bug in the Teleport Operator chart that causes the operator to not be able to list secrets during secret injection. #48901
- The access graph poll interval is now configurable with the
discovery_service.poll_interval
field, whereas before it was fixed to a 15 minute interval. #48861 - The web terminal now supports SIXEL and IIP image protocols. #48842
- Ensure that agentless server information is provided in all audit events. #48833
- Fixed missing Access Request metadata in
app.session.start
audit events. #48804 - Fixed
missing GetDatabaseFunc
error whentsh
connects MongoDB databases in cluster with a separate MongoDB port. #48129 - Ensure that Teleport can re-establish broken LDAP connections. #48008
- Improved handling of scoped token when setting up Okta integration. #5503
- Fixed Access Request deletion reconciliation race condition in Okta integration HA setup. #5385
- Extend support for
group
claim setting in Entra ID integration. #5493
16.4.7 (11/11/2024)
- Fixed bug in Kubernetes session recordings where both root and leaf cluster recorded the same Kubernetes session. Recordings of leaf resources are only available in leaf clusters. #48738
- Machine ID can now be forced to use the explicitly configured proxy address using the
TBOT_USE_PROXY_ADDR
environment variable. This should better support split proxy address operation. #48675 - Fixed undefined error in open source version when clicking on
Add Application
tile in the Enroll Resources page in the Web UI. #48616 - Updated Go to 1.22.9. #48581
- The teleport-cluster Helm chart now uses the configured
serviceAccount.name
from chart values for its pre-deploy configuration check Jobs. #48579 - Fixed a bug that prevented the Teleport UI from properly displaying Plugin Audit log details. #48462
- Fixed an issue preventing migration of unmanaged users to Teleport host users when including
teleport-keep
in a role'shost_groups
. #48455 - Fixed showing the list of Access Requests in Teleport Connect when a leaf cluster is selected in the cluster selector. #48441
- Added Connect support for selecting Kubernetes namespaces during Access Requests. #48413
- Fixed a rare "internal error" on older U2F authenticators when using tsh. #48402
- Fixed
tsh play
not skipping idle time when--skip-idle-time
was provided. #48397 - Added a warning to
tctl edit
about dynamic edits to statically configured resources. #48392 - Define a new
role.allow.request
field calledkubernetes_resources
that allows admins to define what kinds of Kubernetes resources a requester can make. #48387 - Fixed a Teleport Kubernetes Operator bug that happened for OIDCConnector resources with non-nil
max_age
. #48376 - Updated host user creation to prevent local password expiration policies from affecting Teleport managed users. #48163
- Added support for Entra ID directory synchronization for clusters without public internet access. #48089
- Fixed "Missing Region" error for teleport bootstrap commands. #47995
- Fixed a bug that prevented selecting security groups during the Aurora database enrollment wizard in the web UI. #47975
- During the Set Up Access of the Enroll New Resource flows, Okta users will be asked to change the role instead of entering the principals and getting an error afterwards. #47957
- Fixed
teleport_connected_resource
metric overshooting after keepalive errors. #47949 - Fixed an issue preventing connections with users whose configured home directories were inaccessible. #47916
- Added a
resolve
command to tsh that may be used as the target for a Match exec condition in an SSH config. #47868 - Respect
HTTP_PROXY
environment variables for Access Request integrations. #47738 - Updated tsh ssh to support the
--
delimiter similar to openssh. It is now possible to execute a command viatsh ssh user@host -- echo test
ortsh ssh -- host uptime
. #47493
Enterprise:
- Jamf requests from Teleport set "teleport/$version" as the User-Agent.
- Add Web UI support for selecting Kubernetes namespaces during Access Requests.
- Import user roles and traits when using the EntraID directory sync.
16.4.6 (10/22/2024)
Security Fixes
[High] Privilege persistence in Okta SCIM-only integration
When Okta SCIM-only integration is enabled, in certain cases Teleport could calculate the effective set of permission based on SSO user's stale traits. This could allow a user who was unassigned from an Okta group to log into a Teleport cluster once with a role granted by the unassigned group being present in their effective role set.
Note: This issue only affects Teleport clusters that have installed a SCIM-only Okta integration as described in this guide. If you have an Okta integration with user sync enabled or only using Okta SSO auth connector to log into your Teleport cluster without SCIM integration configured, you're unaffected. To verify your configuration:
- Use
tctl get plugins/okta --format=json | jq ".[].spec.Settings.okta.sync_settings.sync_users"
command to check if you have Okta integration with user sync enabled. If it outputs null or false, you may be affected and should upgrade. - Check SCIM provisioning settings for the Okta application you created or updated while following the SCIM-only setup guide. If SCIM provisioning is enabled, you may be affected and should upgrade.
We strongly recommend customers who use Okta SCIM integration to upgrade their auth servers to version 16.3.0 or later. Teleport services other than auth (proxy, SSH, Kubernetes, desktop, application, database and discovery) are not impacted and do not need to be updated.
Other improvements and fixes
- Added a new teleport_roles_total metric that exposes the number of roles which exist in a cluster. #47812
- Teleport's Windows Desktop Service now filters domain-joined Linux hosts out during LDAP discovery. #47773
- The
join_token.create
audit event has been enriched with additional metadata. #47765 - Propagate resources configured in teleport-kube-agent chart values to post-install and post-delete hooks. #47743
- Add support for the Datadog Incident Management plugin helm chart. #47727
- Automatic device enrollment may be locally disabled using the TELEPORT_DEVICE_AUTO_ENROLL_DISABLED=1 environment variable. #47720
- Fixed the Machine ID and GitHub Actions wizard. #47708
- Added migration to update the old import_all_objects database object import rule to the new preset. #47707
- Alter ServiceAccounts in the teleport-cluster Helm chart to automatically disable mounting of service account tokens on newer Kubernetes distributions, helping satisfy security linters. #47703
- Avoid tsh auto-enroll escalation in machines without a TPM. #47695
- Fixed a bug that prevented users from canceling
tsh scan keys
executions. #47658 - Postgres database session start events now include the Postgres backend PID for the session. #47643
- Reworked the
teleport-event-handler
integration to significantly improve performance, especially when running with larger--concurrency
values. #47633 - Fixes a bug where Let's Encrypt certificate renewal failed in AMI and HA deployments due to insufficient disk space caused by syncing audit logs. #47622
- Adds support for custom SQS consumer lock name and disabling a consumer. #47614
- Fixed an issue that prevented RDS Aurora discovery configuration in the AWS OIDC enrollment wizard when any cluster existed without member instances. #47605
- Extend the Datadog plugin to support automatic approvals. #47602
- Allow using a custom database for Firestore backends. #47583
- Include host name instead of host uuid in error messages when SSH connections are prevented due to an invalid login. #47578
- Fix the example Terraform code to support the new larger Teleport Enterprise licenses and updates output of web address to use fqdn when ACM is disabled. #47512
- Add new
tctl
subcommands to manage bot instances. #47225
Enterprise:
- Device auto-enroll failures are now recorded in the audit log.
- Fixed possible panic when processing Okta assignments.
16.4.3 (10/16/2024)
- Extended Teleport Discovery Service to support resource discovery across all projects accessible by the service account. #47568
- Fixed a bug that could allow users to list active sessions even when prohibited by RBAC. #47564
- The
tctl tokens ls
command redacts secret join tokens by default. To include the token values, provide the new--with-secrets flag
. #47545 - Added missing field-level documentation to the terraform provider reference. #47469
- Fixed a bug where
tsh logout
failed to parse flags passed with spaces. #47460 - Fixed the resource-based labels handler crashing without restarting. #47452
- Install teleport FIPS binary in FIPS environments during Server Auto Discover. #47437
- Fix possibly missing rules when using large amount of Access Monitoring Rules. #47430
- Added ability to list/get AccessMonitoringRule resources with
tctl
. #47401 - Include JWK header in JWTs issued by Teleport Application Access. #47393
- Teleport Workload ID now supports issuing JWT SVIDs via the Workload API. #47389
- Added kubeconfig context name to the output table of
tsh proxy kube
command for enhanced clarity. #47383 - Improve error messaging when connections to offline agents are attempted. #47361
- Allow specifying the instance type of AWS HA Terraform bastion instance. #47338
- Added a config option to Teleport Connect to control how it interacts with the local SSH agent (
sshAgent.addKeysToAgent
). #47324 - Teleport Workload ID issued JWT SVIDs are now compatible with OIDC federation with a number of platforms. #47317
- The "ha-autoscale-cluster" terraform module now support default AWS resource tags and ASG instance refresh on configuration or launch template changes. #47299
- Fixed error in Workload ID in cases where the process ID cannot be resolved. #47274
- Teleport Connect for Linux now requires glibc 2.31 or later. #47262
- Fixed a bug where security group rules that refer to another security group by ID were not displayed in web UI enrollment wizards when viewing security group rules. #47246
- Improve the msteams access plugin debug logging. #47158
- Fix missing tsh MFA prompt in certain OTP+WebAuthn scenarios. #47154
- Updates self-hosted db discover flow to generate 2190h TTL certs, not 12h. #47125
- Fixes an issue preventing Access Requests from displaying user friendly resource names. #47112
- Fixed a bug where only one IP CIDR block security group rule for a port range was displayed in the web UI RDS enrollment wizard when viewing a security group. #47077
- The
tsh play
command now supports a text output format. #47073 - Updated Go to 1.22.8. #47050
- Fixed the "source path is empty" error when attempting to upload a file in Teleport Connect. #47011
- Added static host users to Terraform provider. #46974
- Enforce a global
device_trust.mode=required
on OSS processes paired with an Enterprise Auth. #46947 - Added a new config option in Teleport Connect to control SSH agent forwarding (
ssh.forwardAgent
); starting in Teleport Connect v17, this option will be disabled by default. #46895 - Correctly display available allowed logins of leaf AWS Console Apps on
tsh app login
. #46806 - Allow all audit events to be trimmed if necessary. #46499
Enterprise:
- Fixed possible panic when processing Okta assignments.
- Fixed bug where an unknown device aborts device web authentication.
- Add the Datadog Incident Management Plugin as a hosted plugin.
- Permit bootstrapping enterprise clusters with state from an open source cluster.
16.4.2 (09/25/2024)
- Fixed a panic when using the self-hosted PagerDuty plugin. #46925
- A user joining a session will now see available controls for terminating & leaving the session. #46901
- Fixed a regression in the SAML IdP service which prevented cache from initializing in a cluster that may have a service provider configured with unsupported
acs_url
andrelay_state
values. #46845
Enterprise:
- Fixed a possible crash when using Teleport Policy's GitLab integration.
16.4.1 (09/25/2024)
Secrets support for Kubernetes Operator
Kubernetes Operator is now able to lookup values from Kubernetes secrets for GithubConnector.ClientSecret
and OIDCConnector.ClientSecret
.
Other improvements and fixes
- Fixed a regression that made it impossible to read the Teleport Audit Log after creating a plugin if the audit event is present. #46831
- Added a new flag to static host users spec that allows teleport to automatically take ownership across matching hosts of any users with the same name as the static host user. #46828
- Added support for Kubernetes SPDY over Websocket Protocols for PortForward. #46815
- Fixed a regression where Teleport swallowed Kubernetes API errors when using kubectl exec with a Kubernetes cluster newer than v1.30.0. #46811
- Added support for Access Request Datadog plugin. #46740
16.4.0 (09/18/2024)
Machine ID for HCP Terraform and Terraform Enterprise
Teleport now supports secure joining via Terraform Cloud, allowing Machine ID workflows to run on Terraform Cloud without shared secrets.
SPIFFE Federation for Workload Identity
Teleport Workload Identity now supports SPIFFE Federation, allowing trust relationships to be established between a Teleport cluster's trust domain and trust domains managed by other SPIFFE compatible platforms. Establishing a relationship between the trust domains enables workloads belonging to one trust domain to validate the identity of workloads in the other trust domain, and vice versa.
Multi-domain support for web applications
Teleport now supports web application access where one application depends on another. For example, you may have a web application that depends on a backend API service, both of which are separate apps protected by Teleport.
Okta integration status dashboard
Cluster admins are now able to get a detailed overview of the Okta integration status in the Teleport web UI.
Other improvements and fixes
- Fixed the web favicon not displaying on specific builds. #46736
- Fixed regression in private key parser to handle mismatched PEM headers. #46727
- Removed TXT record validation from custom DNS zones in VNet; VNet now supports any custom DNS zone, as long as it's included in
vnet_config
. #46722 - Fixed audit log not recognizing static host user events. #46697
- Fixes a bug in Kubernetes access that causes the error
expected *metav1.PartialObjectMetadata object
when trying to list resources. #46694 - Added a new
default_shell
configuration for the static host users resource that works exactly the same as thecreate_host_user_default_shell
configuration added for roles. #46688 - Machine ID now generates cluster-specific
ssh_config
andknown_hosts
files which will always direct SSH connections made using them via Teleport. #46684 - Fixed a regression that prevented the
fish
shell from starting in Teleport Connect. #46662 - Added a new
create_host_user_default_shell
configuration under role options that changes the default shell of auto provisioned host users. #46648 - Fixed an issue that prevented host user creation when the username was also listed in
host_groups
. #46635 - Fixed
tsh scp
showing a login prompt when attempting to transfer a folder without the recursive option. #46603 - The Teleport Terraform provider now supports AccessMonitoringRule resources. #46582
- The
teleport-plugin-slack
chart can now deploytbot
to obtain and renew the Slack plugin credentials automatically. This setup is easier and more secure than signing long-lived credentials. #46581 - Always show the device trust green shield for authenticated devices. #46565
- Add new
terraform_cloud
joining method to enable secretless authentication on HCP Terraform jobs for the Teleport Terraform provider. #46049 - Emit audit logs when creating, updating or deleting Teleport Plugins. #4939
16.3.0 (09/11/2024)
Out-of-band user creation
Cluster administrators are now able to configure Teleport's ssh_service
to
ensure that certain host users exist on the machine without the need to start
an SSH session. #46498
Other improvements and fixes
- Allow the cluster wide ssh dial timeout to be set via
auth_service.ssh_dial_timeout
in the Teleport config file. #46507 - Fixed an issue preventing session joining while host user creation was in use. #46501
- Added tbot Helm chart for deploying a Machine ID Bot into a Teleport cluster. #46373
16.2.2 (09/10/24)
- Fixed an issue that prevented the Firestore backend from reading existing data. #46433
- The
teleport-kube-agent
chart now correctly propagates configured annotations when deploying a StatefulSet. #46421 - Fixed regression with Slack notification rules matching on plugin name instead of type. #46391
- Update
tsh puttyconfig
to respect any defined proxy templates. #46384 - Ensure that additional pod labels are carried over to post-upgrade and post-delete hook job pods when using the
teleport-kube-agent
Helm chart. #46232 - Fix bug that renders WebUI unusable if a role is deleted while it is still being in use by the logged in user. #45774
16.2.1 (09/05/24)
- Fixed debug service not being turned off by configuration; Connect My Computer in Teleport Connect should no longer fail with "bind: invalid argument". #46293
- Fixed an issue that could result in duplicate session recordings being created. #46265
- Connect now supports bulk selection of resources to create an Access Request in the unified resources view. #46238
- Added support for the
teleport_installer
resource to the Teleport Terraform provider. #46200 - Fixed an issue that would cause reissue of certificates to fail in some scenarios where a local auth service was present. #46184
- Updated OpenSSL to 3.0.15. #46180
- Extend Teleport ability to use non-default cluster domains in Kubernetes, avoiding the assumption of
cluster.local
. #46150 - Fixed retention period handling in the CockroachDB audit log storage backend. #46147
- Prevented Teleport Kubernetes access from resending resize events to the party that triggered the terminal resize, avoiding potential resize loops. #46066
- Fixed an issue where attempts to play/export certain session recordings would fail with
gzip: invalid header
. #46035 - Fixed a bug where Teleport services could not join the cluster using iam, azure, or tpm methods when the proxy service certificate did not contain IP SANs. #46010
- Prevent connections from being randomly terminated by Teleport proxies when
proxy_protocol
is enabled and TLS is terminated before Teleport Proxy. #45992 - Updated the icons for server, application, and desktop resources. #45990
- Added
eks:UpdateAccessEntry
to IAM permissions generated by the teleport integration IAM setup command and to the documentation reference for auto-discovery IAM permissions. #45983 - Added ServiceNow support to Access Request notification routing rules. #45965
- Added PagerDuty support to Access Request notification routing rules. #45913
- Fixed an issue where
host_sudoers
could be written to Teleport proxy server sudoer lists in Teleport v14 and v15. #45958 - Prevent interactive sessions from hanging on exit. #45952
- Fixed kernel version check of Enhanced Session Recording for distributions with backported BPF. #45941
- Added a flag to skip a relogin attempt when using
tsh ssh
andtsh proxy ssh
. #45929 - The hostname where the process is running is returned when running
tctl get db_services
. #45909 - Add buttons to clear all selected Roles/Reviewers in new Access Requests. #45904
- Fixed an issue WebSocket upgrade fails with MiTM proxies that can remask payloads. #45899
- When a database is created manually (without auto-discovery) the
teleport.dev/db-admin
andteleport.dev/db-admin-default-database
labels are no longer ignored and can be used to configure database auto-user provisioning. #45891 - Add support for non-RSA SSH signatures with imported CA keys. #45890
- Update
tsh login
andtsh status
output to truncate a list of roles. #45581
16.2.0 (08/26/24)
NLA Support for Windows desktops
Teleport now supports Network Level Authentication (NLA) when connecting to Windows hosts that are part of an Active Directory domain. NLA support is currently opt-in. It will be enabled by default in a future release.
To enable NLA, set the TELEPORT_ENABLE_RDP_NLA
environment variable to yes
on your windows_desktop_service
instances. It is not necessary to configure
the Windows hosts to require NLA - Teleport's client will perform NLA when
configured to do so, even if the server does not require it.
More information is available in the Active Directory docs
DocumentDB IAM authentication support
Teleport now supports authenticating to DocumentDB with IAM users and roles recently released by AWS.
Join Tokens in the Web UI
Teleport now allows users to manage join tokens in the web UI as an alternative to the tctl tokens commands.
Database Access Controls in Access Graph
Database Access users are now able to see database objects and their access paths in Access Graph.
Logrotate support
Teleport now integrates with logrotate by automatically reopening log files when detecting that they were renamed.
Other improvements and fixes
- Failure to share a local directory in a Windows desktop session is no longer considered a fatal error. #45852
- Add
teleport.dev/project-id
label for auto-enrolled instances in GCP. #45820 - Fix an issue that prevented the creation of AWS App Access for an Integration that used digits only (eg, AWS Account ID). #45819
- Slack plugin now lists logins permitted by requested roles. #45759
- For new EKS Cluster auto-enroll configurations, the temporary Access Entry is tagged with
teleport.dev/
namespaced tags. For existing set ups, please add theeks:TagResource
action to the Integration IAM Role to get the same behavior. #45725 - Added support for importing S3 Bucket Tags into Teleport Policy's Access Graph. For existing configurations, ensure that the
s3:GetBucketTagging
permission is manually included in the Teleport Access Graph integration role. #45551 - Add a
tctl terraform env
command to simplify running the Teleport Terraform provider locally. #44690 - Add native MachineID support to the Terraform provider. Environments with delegated joining methods such as GitHub Actions, GitLab CI, CircleCI, GCP, or AWS can run the Terraform provider without having to setup
tbot
. #44690 - The Terraform Provider now sequentially tries every credential source and provide more actionable error messages if it cannot connect. #44690
- When the Terraform provider finds expired credentials it will now fail fast with a clear error instead of hanging for 30 seconds and sending potentially misleading error about certificates being untrusted. #44690
- Fix a bug that caused some enterprise clusters to incorrectly display a message that the cluster had a monthly allocation of 0 Access Requests. #4923
16.1.8 (08/23/24)
Security fix
[High] Stored XSS in SAML IdP
When registering a service provider with SAML IdP, Teleport did not sufficiently validate the ACS endpoint. This could allow a Teleport administrator with permissions to write saml_idp_service_provider resources to configure a malicious service provider with an XSS payload and compromise session of users who would access that service provider.
Note: This vulnerability is only applicable when Teleport itself is acting as the identity provider. If you only use SAML to connect to an upstream identity provider you are not impacted. You can use the tctl get saml_idp_service_provider command to verify if you have any Service Provider applications registered and Teleport acts as an IdP.
For self-hosted Teleport customers that use Teleport as SAML Identity Provider, we recommend upgrading auth and proxy servers. Teleport agents (SSH, Kubernetes, desktop, application, database and discovery) are not impacted and do not need to be updated.
Other fixes and improvements
- Fixed an issue where Teleport could modify group assignments for users not managed by Teleport. This will require a migration of host users created with create_host_user_mode: keep in order to maintain Teleport management. #45791
- The terminal shell can now be changed in Teleport Connect by right-clicking on a terminal tab. This allows using WSL (
wsl.exe
) if it is installed. Also, the default shell on Windows has been changed topwsh.exe
(instead ofpowershell.exe
). #45734 - Improve web UI enroll RDS flow where VPC, subnets, and security groups are now selectable. #45688
- Allow to limit duration of local tsh proxy certificates with a new MFAVerificationInterval option. #45686
- Fixed host user creation for tsh scp. #45680
- Fixed an issue AWS access fails when the username is longer than 64 characters. #45658
- Permit setting a cluster wide SSH connection dial timeout. #45650
- Improve performance of host resolution performed via tsh ssh when connecting via labels or proxy templates. #45644
- Remove empty tcp app session recordings. #45643
- Fixed bug causing FeatureHiding flag to not hide the "Access Management" section in the UI as intended. #45608
- Fixed an issue where users created in
keep
mode could effectively becomeinsecure_drop
and get cleaned up as a result. #45594 - Prevent RBAC bypass for new Postgres connections. #45554
- tctl allows cluster administrators to create custom notifications targeting Teleport users. #45503
- Fixed debug service not enabled by default when not using a configuration file. #45480
- Introduce support for Envoy SDS into the Machine ID spiffe-workload-api service. #45460
- Improve the output of
tsh sessions ls
. #45452 - Fix access entry handling permission error when EKS auto-discovery was set up in the Discover UI. #45442
- Fix showing error message when enrolling EKS clusters in the Discover UI. #45415
- Fixed the "Create A Bot" flow for GitHub Actions and SSH. It now correctly grants the bot the role created during the flow, and the example YAML is now correctly formatted. #45409
- Mark authenticators used for passwordless as a passkey, if not previously marked as such. #45395
- Prevents a panic caused by AWS STS client not being initialized when assuming an AWS Role. #45382
- Update teleport debug commands to handle data dir not set. #45341
- Fix
tctl get all
not returning SAML or OIDC auth connectors. #45319 - The Opsgenie plugin recipients can now be dynamically configured by creating Access Monitoring Rules resources with the required Opsgenie notify schedules. #45307
- Improve discoverability of the source or rejected connections due to unsupported versions. #45278
- Improved copy and paste behavior in the terminal in Teleport Connect. On Windows and Linux, Ctrl+Shift+C/V now copies and pastes text (these shortcuts can be changed with
keymap.terminalCopy
/keymap.terminalPaste
). A mouse right click (terminal.rightClick
) can copy/paste text too (enabled by default on Windows). #45265 - Fixed an issue that could cause auth servers to panic when their backend connectivity was interrupted. #45225
- Adds SPIFFE compatible federation bundle endpoint to the Proxy API, allowing other workload identity platforms to federate with the Teleport cluster. #44998
- Add 'Download CSV' button to Access Monitoring Query results. #4899
- Fixed issue in Okta Sync that spuriously deletes Okta Applications due to connectivity errors. #4885
- Fixed bug in Okta Sync that mistakenly removes Apps and Groups on connectivity failure. #4883
- Fixed bug that caused some enterprise clusters to incorrectly display a message that the cluster had a monthly allocation of 0 Access Requests. #4923
16.1.4 (08/07/24)
- Improved
tsh ssh
performance for concurrent execs. #45162 - Fixed issue with loading cluster features when agents are upgraded prior to auth. #45226
- Updated Go to
1.22.6
. #45194
16.1.3 (08/06/24)
- Fixed an issue where
tsh aws
may display extra text in addition to the original command output. #45168 - Fixed regression that denied access to launch some Apps. #45149
- Bot resources now honor their
metadata.expires
field. #45130 - Teleport Connect now sets
TERM_PROGRAM: Teleport_Connect
andTERM_PROGRAM_VERSION: <app_version>
environment variables in the integrated terminal. #45063 - Fixed a panic in the Microsoft Teams plugin when it receives an error. #45011
- Added a background item for VNet in Teleport Connect; VNet now prompts for a password only during the first launch. #44994
- Added warning on
tbot
startup when the requested certificate TTL exceeds the maximum allowed value. #44989 - Fixed a race condition between session recording uploads and session recording upload cleanup. #44978
- Prevented Kubernetes per-Resource RBAC from blocking access to namespaces when denying access to a single resource kind in every namespace. #44974
- SSO login flows can now authorize web sessions with Device Trust. #44906
- Added support for Kubernetes Workload Attestation into Teleport Workload Identity to allow the authentication of pods running within Kubernetes without secrets. #44883
Enterprise:
- Fixed a redirection issue with the SAML IdP authentication middleware which prevented users from signing into the service provider when an SAML authentication request was made with an HTTP-POST binding protocol, and user's didn't already have an active session with Teleport. #4806
- SAML applications can now be deleted from the Web UI. #4778
- Fixed an issue introduced in v16.0.3 and v15.4.6 where
tbot
FIPS builds fail to start due to a missing boringcrypto dependency. #4757
16.1.1 (07/31/24)
- Added option to allow client redirects from IPs in specified CIDR ranges in SSO client logins. #44846
- Machine ID can now be configured to use Kubernetes Secret destinations from the command line using the
kubernetes-secret
schema. #44801 - Prevent the Discovery Service from overwriting Teleport dynamic resources that have the same name as discovered resources. #44785
- Reduced the probability that the event-handler deadlocks when encountering errors processing session recordings. #44771
- Improved event-handler diagnostics by providing a way to capture profiles dynamically via
SIGUSR1
. #44758 - Teleport Connect now uses ConPTY for better terminal resizing and accurate color rendering on Windows, with an option to disable it in the app config. #44742
- Fixed event-handler Helm charts using the wrong command when starting the event-handler container. #44697
- Improved stability of very large Teleport clusters during temporary backend disruption/degradation. #44694
- Resolved compatibility issue with Paramiko and Machine ID's SSH multiplexer SSH agent. #44673
- Teleport no longer creates invalid SAML Connectors when calling
tctl get saml/<connector-name> | tctl create -f
without the--with-secrets
flag. #44666 - Fixed a fatal error in
tbot
when unable to lookup the user from a given UID in containerized environments for checking ACL configuration. #44645 - Fixed application access regression where an HTTP header wasn't set in forwarded requests. #44628
- Added Server auto-discovery support for Rocky and AlmaLinux distros. #44612
- Use the registered port of the target host when
tsh puttyconfig
is invoked without--port
. #44572 - Added more icons for guessing application icon by name or by label
teleport.icon
in the web UI. #44566 - Remove deprecated S3 bucket option when creating or editing AWS OIDC integration in the web UI. #44485
- Fixed terminal sessions with a database CLI client in Teleport Connect hanging indefinitely if the client cannot be found. #44465
- Added
application-tunnel
service to Machine ID for establishing a long-lived tunnel to a HTTP or TCP application for Machine to Machine access. #44443 - Fixed a regression that caused Teleport Connect to fail to start on Intel Macs. #44435
- Improved auto-discovery resiliency by recreating Teleport configuration when the node fails to join the cluster. #44432
- Fixed a low-probability panic in audit event upload logic. #44425
- Fixed Teleport Connect binaries not being signed correctly. #44419
- Prevented DoSing the cluster during a mass failed join event by agents. #44414
- The availability filter is now a toggle to show (or hide) requestable resources. #44413
- Moved PostgreSQL auto provisioning users procedures to
pg_temp
schema. #44409 - Added audit events for AWS and Azure integration resource actions. #44403
- Fixed automatic updates with previous versions of the
teleport.yaml
config. #44379 - Added support for Rocky and AlmaLinux when enrolling a new server from the UI. #44332
- Fixed PostgreSQL session playback not rendering queries line breaks correctly. #44315
- Fixed Teleport access plugin tarballs containing a
build
directory, which was accidentally added upon v16.0.0 release. #44300 - Prevented an infinite loop in DynamoDB event querying by advancing the cursor to the next day when the limit is reached at the end of a day with an empty iterator. This ensures the cursor does not reset to the beginning of the day. #44275
- The clipboard sharing tooltip for desktop sessions now indicates why clipboard sharing is disabled. #44237
- Prevented redirects to arbitrary URLs when launching an app. #44188
- Added a
--skip-idle-time
flag totsh play
. #44013 - Added audit events for discovery config actions. #43793
- Enabled Access Monitoring Rules routing with Mattermost plugin. #43601
- SAML application can now be deleted from the Web UI. #4778
- Fixed an Access List permission bug where an Access List owner, who is also a member, was not able to add/remove Access List member. #4744
- Fixed a bug in Web UI where clicking SAML GCP Workforce Identity Federation discover tile would throw an error, preventing from using the guided enrollment feature. #4720
- Fixed an issue with incorrect yum/zypper updater packages being installed. #4684
16.1.0 (07/15/24)
New logo
We're excited to announce an update to the Teleport logo. This refresh aligns with our evolving brand and will be reflected across the product, our marketing site (goteleport.com), branded content, swag, and more.
The new logo will appear in the web UI starting with this release and on the marketing website starting from July 17th, 2024.
Database access session replay
Database access users will be able to watch PostgreSQL query replays in the web UI or with tsh.
Other improvements and fixes
- Fixed "staircase" text output for non-interactive Kube exec sessions in Web UI. #44249
- Fixed a leak in the admin process spawned by starting VNet through
tsh vnet
or Teleport Connect. #44225 - Fixed a
kube-agent-updater
bug affecting resolutions of private images. #44191 - The
show_resources
option is no longer required for statically configured proxy ui settings. #44181 - The
teleport-cluster
chart can now use existing ingresses instead of creating its own. #44146 - Ensure that
tsh login
outputs accurate status information for the new session. #44143 - Fixes "device trust mode x requires Teleport Enterprise" errors on
tctl
. #44133 - Added the
tbot install systemd
command for installing tbot as a service on Linux systems. #44083 - Added ability to list Access List members in json format in
tctl
. #44071 - Update grpc to
v1.64.1
(patchesGO-2024-2978
). #44067 - Batch access review reminders into 1 message and provide link out to the web UI. #44034
- Fixed denying access despite access being configured for Notification Routing Rules in the web UI. #44029
- Honor proxy templates in tsh ssh. #44026
- Fixed eBPF error occurring during startup on Linux RHEL 9. #44023
- Fixed Redshift auto-user deactivation/deletion failure that occurs when a user is created or deleted and another user is deactivated concurrently. #43968
- Lower latency of detecting Kubernetes cluster becoming online. #43967
- Teleport AMIs now optionally source environment variables from
/etc/default/teleport
as regular Teleport package installations do. #43962 - Make
tbot
compilable on Windows. #43959 - Add a new event to the database session recording with query/command result information. #43955
- Enabled setting event types to forward, skip events, skip session types in event-handler helm chart. #43938
extraLabels
configured inteleport-kube-agent
chart values are now correctly propagated to post-delete hooks. A newextraLabels.job
object has been added for labels which should only apply to the post-delete job. #43932- Add support for Teams to Opsgenie plugin alert creation. #43916
- Machine ID outputs now execute individually and concurrently, meaning that one failing output does not disrupt other outputs, and that performance when generating a large number of outputs is improved. #43876
- SAML IdP service provider resource can now be updated from the Web UI. #4651
- Fixed empty condition from unquoted string with YAML editor for Notification Routing Rules in the Web UI. #4636
- Teleport Enterprise now supports the
TELEPORT_REPORTING_HTTP(S)_PROXY
environment variable to specify the URL of the HTTP(S) proxy used for connections to our usage reporting ingest service. #4568 - Fixed inaccurately notifying user that Access List reviews are due in the web UI. #4521
16.0.4 (07/03/24)
- Omit control plane services from the inventory list output for Cloud-Hosted instances. #43779
- Updated Go toolchain to v1.22.5. #43768
- Reduced CPU usage in auth servers experiencing very high concurrent request load. #43755
- Machine ID defaults to disabling the use of the Kubernetes exec plugin when writing a Kubeconfig to a directory destination. This removes the need to manually configure
disable_exec_plugin
. #43655 - Fixed startup crash of Teleport Connect on Ubuntu 24.04 by adding an AppArmor profile. #43653
- Added support for dialling leaf clusters to the tbot SSH multiplexer. #43634
- Extend Teleport ability to use non-default cluster domains in Kubernetes, avoiding the assumption of
cluster.local
. #43631 - Wait for user MFA input when reissuing expired certificates for a kube proxy. #43612
- Improved error diagnostics when using Machine ID's SSH multiplexer. #43586
Enterprise:
- Teleport Enterprise now supports the
TELEPORT_REPORTING_HTTP(S)_PROXY
environment variable to specify the URL of the HTTP(S) proxy used for connections to our usage reporting ingest service.
16.0.3 (06/27/24)
This release of Teleport contains a fix for medium-level security issue impacting Teleport Enterprise, as well as various other updates and improvements
Security Fixes
- [Medium] Fixes issue where a SCIM client could potentially overwrite. Teleport system Roles using specially crafted groups. This issue impacts Teleport Enterprise deployments using the Okta integration with SCIM support enabled.
We strongly recommend all customers upgrade to the latest releases of Teleport.
Other updates and improvements
- Update
go-retryablehttp
to v0.7.7 (fixes CVE-2024-6104). #43474 - Fixed Discover setup access error when updating user. #43560
- Added audit event field describing if the "MFA for admin actions" requirement changed. #43541
- Fixed remote port forwarding validation error. #43516
- Added support to trust system CAs for self-hosted databases. #43493
- Added error display in the Web UI for SSH and Kubernetes sessions. #43485
- Fixed accurate inventory reporting of the updater after it is removed. #43454
tctl alerts ls
now displays remaining alert ttl. #43436- Fixed input search for Teleport Connect's Access Request listing. #43429
- Added
Debug
setting for event-handler. #43408 - Fixed Headless auth for sso users, including when local auth is disabled. #43361
- Added configuration for custom CAs in the event-handler helm chart. #43340
- Updated VNet panel in Teleport Connect to list custom DNS zones and DNS zones from leaf clusters. #43312
- Fixed an issue with Database Access Controls preventing users from making additional database connections. #43303
- Fixed bug that caused gRPC connections to be disconnected when their certificate expired even though DisconnectCertExpiry was false. #43290
- Fixed Connect My Computer in Teleport Connect failing with "bind: invalid argument". #43287
- Fix a bug where a Teleport instance running only Jamf or Discovery service would never have a healthy
/readyz
endpoint. #43283 - Added a missing
[Install]
section to theteleport-acm
systemd unit file as used by Teleport AMIs. #43257 - Patched timing variability in curve25519-dalek. #43246
- Fixed setting request reason for automatic ssh Access Requests. #43178
- Improved log rotation logic in Teleport Connect; now the non-numbered files always contain recent logs. #43161
- Added
tctl desktop bootstrap
for bootstrapping AD environments to work with desktop access. #43150
Enterprise only changes and improvements
- The teleport updater will no longer default to using the global version channel, avoiding incompatible updates.
- Fixed sync error in Okta SCIM integration.
16.0.1 (06/17/24)
tctl
now ignores any configuration file if the auth_service section is disabled, and prefer loading credentials from a given identity file or tsh profile instead. #43115- Skip
jamf_service
validation when the service is not enabled. #43095 - Fix v16.0.0 amd64 Teleport plugin images using arm64 binaries. #43084
- Add ability to edit user traits from the Web UI. #43067
- Enforce limits when reading events from Firestore for large time windows to prevent OOM events. #42966
- Allow all authenticated users to read the cluster
vnet_config
. #42957 - Improve search and predicate/label based dialing performance in large clusters under very high load. #42943
16.0.0 (06/13/24)
Teleport 16 brings the following new features and improvements:
- Teleport VNet
- Device Trust for the Web UI
- Increased support for per-session MFA
- Web UI notification system
- Access requests from the resources view
tctl
for Windows- Teleport plugins improvements
Description
Teleport VNet
Teleport 16 introduces Teleport VNet, a new feature that provides a virtual IP subnet and DNS server which automatically proxies TCP connections to Teleport apps over mutually authenticated tunnels.
This allows scripts and software applications to connect to any Teleport-protected application as if they were connected to a VPN, without the need to manage local tunnels.
Teleport VNet is powered by the Teleport Connect client and is available for macOS. Support for other operating systems will come in a future release.
Device Trust for the Web UI
Teleport Device Trust can now be enforced for browser-based workflows like remote desktop and web application access. The Teleport Connect client must be installed in order to satisfy device locality checks.
Increased support for per-session MFA
Teleport 16 now supports per-session MFA checks when accessing both web and TCP
applications via all supported clients (Web UI, tsh
, and Teleport Connect).
Additionally, Teleport Connect now includes support for per-session MFA when accessing database resources.
Web UI notification system
Teleport’s Web UI includes a new notifications system that notifies users of items requiring attention (for example, Access Requests needing review).
Access requests from the resources view
The resources view in the web UI now shows both resources you currently have access to and resources you can request access to. This allows users to request access to resources without navigating to a separate page.
Cluster administrators who prefer the previous behavior of hiding requestable
resources from the main view can set show_resources: accessible_only
in their
UI config:
For dynamic configuration, run tctl edit ui_config
:
kind: ui_config
version: v1
metadata:
name: ui-config
spec:
show_resources: accessible_only
Alternatively, self-hosted Teleport users can update the ui
section of their
proxy configuration:
proxy_service:
enabled: yes
ui:
show_resources: accessible_only
tctl
for Windows
Teleport 16 includes Windows builds of the tctl
administrative tool, allowing
Windows users to administer their cluster without the need for a macOS or Linux
workstation.
Additionally, there are no longer enterprise-specific versions of tctl
. All
Teleport clients (tsh
, tctl
, and Teleport Connect) are available in a single
distribution that works on both Enterprise and Community Edition clusters.
Teleport plugins improvements
Teleport 16 includes major improvements to the plugins. All plugins now have:
- amd64 and arm64 binaries available
- amd64 and arm64 multi-arch images
- Major and minor version rolling tags (ie
public.ecr.aws/gravitational/teleport-plugin-email:16
) - Image signatures for all images
- Additional debug images with all of the above features
In addition, we now support plugins for each supported major version, starting with v15. This means that if we fix a bug or security issue in a v16 plugin version, we will also apply and release the change for the v15 plugin version.
Other
The Jamf plugin now authenticates with Jamf API credentials instead of username and password.
Breaking changes and deprecations
Community Edition license
Starting with this release, Teleport Community Edition restricts commercial usage.
https://goteleport.com/blog/teleport-community-license/
License file validation on startup
Teleport 16 introduces license file validation on startup. This only applies to customers running Teleport Enterprise Self-Hosted. No action is required for customers running Teleport Enterprise (Cloud) or Teleport Community Edition.
If, after updating to Teleport 16, you receive an error message regarding an outdated license file, follow our step-by-step guide to update your license file.
Multi-factor authentication is now required for local users
Support for disabling multi-factor authentication has been removed. Teleport
will refuse to start until the second_factor
setting is set to on
, webauthn
or otp
.
This change only affects self-hosted Teleport users, as Teleport Enterprise (Cloud) has always required multi-factor authentication.
Important: To avoid locking users out, we recommend the following steps:
- Ensure that all cluster administrators have multi-factor devices registered in Teleport so that they will be able to reset any other users.
- Announce to the user base that all users must register an MFA device.
Consider creating a cluster alert with
tctl alerts create
to help spread the word. - While you are still on Teleport 15, set
second_factor: on
. This will help identify any users who have not registered MFA devices and allow you to revert tosecond_factor: optional
if necessary. - Upgrade to Teleport 16.
Any users who do not register MFA devices prior to the Teleport 16 upgrade will
be unable to log in and must be reset by an administrator (tctl users reset
).
Incompatible clients are rejected
In accordance with our component compatibility guidelines, Teleport 16 will start rejecting connections from clients and agents running incompatible (ie too old) versions.
If Teleport detects connection attempts from outdated clients, it will show an
alert to cluster administrators in both the web UI and tsh
.
To disable this behavior and run in an unsupported configuration that allows
incompatible agents to connect to your cluster, start your Auth Service
instances with the TELEPORT_UNSTABLE_ALLOW_OLD_CLIENTS=yes
environment
variable.
Opsgenie plugin annotations
Prior to Teleport 16, when using an Opsgenie plugin, the teleport.dev/schedules
role annotation was used to specify both schedules for Access Request
notifications as well as schedules to check for the request auto-approval.
Starting with Teleport 16, the annotations were split to provide behavior
consistent with other Access Request plugins: a role must now contain the
teleport.dev/notify-services
to receive notifications on Opsgenie and the
teleport.dev/schedules
to check for auto-approval.
Detailed setup instructions are available in the documentation.
Teleport Assist has been removed
Teleport Assist chat has been removed from Teleport 16. auth_service.assist
and proxy_service.assist
options have been removed from the configuration. Teleport will not start if these options are present.
During the migration from v15 to v16, the options mentioned above should be removed from the configuration.
New required permissions for DynamoDB
Teleport clusters using the DynamoDB backend on AWS now require the
dynamodb:ConditionCheckItem
permissions. For a full list of required
permissions, see the IAM policy example.
Updated keyboard shortcuts in Teleport connect
On Windows and Linux, some of Teleport Connect’s keyboard shortcuts conflicted with the default bash or nano shortcuts (Ctrl+E, Ctrl+K, etc). On those platforms, the default shortcuts have been changed to a combination of Ctrl+Shift+*.
On macOS, the default shortcut to open a new terminal has been changed to Ctrl+Shift+`.
See the configuration guide for a list of updated keyboard shortcuts.
Machine ID and OpenSSH client config changes
Users with custom ssh_config
should modify their ProxyCommand to use the new,
more performant, tbot ssh-proxy-command
. See the
v16 upgrade guide for
more details.
Removal of Active Directory configuration flow
The Active Directory installation and configuration wizard has been removed. Users who don’t already have Active Directory should leverage Teleport’s local user support, and users with existing Active Directory environments should follow the manual setup guide.
Teleport Assist is removed
All Teleport Assist functionality and OpenAI integration has been removed from Teleport.
15.4.24 (12/11/2024)
- Updated golang.org/x/crypto to v0.31.0 (CVE-2024-45337). #50080
- Fix tsh ssh -Y when jumping between multiple servers. #50034
- Reduce Auth memory consumption when agents join using the azure join method. #50000
- Tsh correctly respects the --no-allow-passwordless flag. #49935
- Auto-updates for client tools (
tctl
andtsh
) are controlled by cluster configuration. #48648
15.4.23 (12/5/2024)
- Fixed a bug breaking in-cluster joining on some Kubernetes clusters. #49843
- SSH or Kubernetes information is now included for audit log list for start session events. #49834
- Avoid tight web session renewals for sessions with short TTL (between 3m and 30s). #49770
- Updated Go to 1.22.10. #49760
- Added ability to configure resource labels in
teleport-cluster
's operator sub-chart. #49649 - Fixed proxy peering listener not using the exact address specified in
peer_listen_addr
. #49591 - Kubernetes in-cluster joining now also accepts tokens whose audience is the Teleport cluster name (before it only allowed the default Kubernetes audience). Kubernetes JWKS joining is unchanged and still requires tokens with the cluster name in the audience. #49558
- Restore interactive PAM authentication functionality when
use_pam_auth
is applied. #49520 - Increase CockroachDB setup timeout from 5 to 30 seconds. This mitigates the Auth Service not being able to configure TTL on slow CockroachDB event backends. #49471
- Fixed a potential panic in login rule and SAML IdP expression parser. #49432
- Support for long-running kube exec/port-forward, respect
client_idle_timeout
config. #49430 - Fixed a permissions error with Postgres database user auto-provisioning that occurs when the database admin is not a superuser and the database is upgraded to Postgres v16 or higher. #49391
- Fixed missing user participants in session recordings listing for non-interactive Kubernetes recordings. #49345
- Fixed an issue where
teleport park
processes could be leaked causing runaway resource usage. #49262 - The
tsh puttyconfig
command now disables GSSAPI auth settings to avoid a "Not Responding" condition in PuTTY. #49191 - Allow Azure VMs to join from a different subscription than their managed identity. #49158
- Fixed an issue loading the license file when Teleport is started without a configuration file. #49148
- Fixed a bug in the
teleport-cluster
Helm chart that can cause token mount to fail when using ArgoCD. #49070 - Fixed an issue resulting in excess cpu usage and connection resets when teleport-event-handler is under moderate to high load. #49035
- Fixed OpenSSH remote port forwarding not working for localhost. #49021
- Allow to override Teleport license secret name when using
teleport-cluster
Helm chart. #48980 - Fixed users not being able to connect to SQL server instances with PKINIT integration when the cluster is configured with different CAs for database access. #48925
- Ensure that agentless server information is provided in all audit events. #48835
- Fixed an issue preventing migration of unmanaged users to Teleport host users when including
teleport-keep
in a role'shost_groups
. #48456 - Resolved an issue that caused false positive errors incorrectly indicating that the YubiKey was in use by another application, while only tsh was accessing it. #47953
Enterprise:
- Jamf Service sync audit events are attributed to "Jamf Service".
15.4.22 (11/12/24)
- Added a search input to the cluster dropdown in the Web UI when there's more than five clusters to show. #48800
- Fixed bug in Kubernetes session recordings where both root and leaf cluster recorded the same Kubernetes session. Recordings of leaf resources are only available in leaf clusters. #48739
- Machine ID can now be forced to use the explicitly configured proxy address using the
TBOT_USE_PROXY_ADDR
environment variable. This should better support split proxy address operation. #48677 - Fixed undefined error in open source version when clicking on
Add Application
tile in the Enroll Resources page in the Web UI. #48617 - Updated Go to 1.22.9. #48582
- The teleport-cluster Helm chart now uses the configured
serviceAccount.name
from chart values for its pre-deploy configuration check Jobs. #48578 - Fixed a bug that prevented the Teleport UI from properly displaying Plugin Audit log details. #48463
- Fixed showing the list of Access Requests in Teleport Connect when a leaf cluster is selected in the cluster selector. #48442
- Fixed a rare "internal error" on older U2F authenticators when using tsh. #48403
- Fixed
tsh play
not skipping idle time when--skip-idle-time
was provided. #48398 - Added a warning to
tctl edit
about dynamic edits to statically configured resources. #48393 - Fixed a Teleport Kubernetes Operator bug that happened for OIDCConnector resources with non-nil
max_age
. #48377 - Updated host user creation to prevent local password expiration policies from affecting Teleport managed users. #48162
- During the Set Up Access of the Enroll New Resource flows, Okta users will be asked to change the role instead of entering the principals and getting an error afterwards. #47958
- Fixed
teleport_connected_resource
metric overshooting after keepalive errors. #47950 - Fixed an issue preventing connections with users whose configured home directories were inaccessible. #47917
- Added a
resolve
command to tsh that may be used as the target for a Match exec condition in an SSH config. #47867 - Postgres database session start events now include the Postgres backend PID for the session. #47644
- Updated
tsh ssh
to support the--
delimiter similar to openssh. It is now possible to execute a command viatsh ssh user@host -- echo test
ortsh ssh -- host uptime
. #47494
Enterprise:
- Jamf requests from Teleport set "teleport/$version" as the User-Agent.
15.4.21 (10/22/24)
Security fixes
[High] Privilege persistence in Okta SCIM-only integration
When Okta SCIM-only integration is enabled, in certain cases Teleport could calculate the effective set of permission based on SSO user's stale traits. This could allow a user who was unassigned from an Okta group to log into a Teleport cluster once with a role granted by the unassigned group being present in their effective role set.
Note: This issue only affects Teleport clusters that have installed a SCIM-only Okta integration as described in this guide. If you have an Okta integration with user sync enabled or only using Okta SSO auth connector to log into your Teleport cluster without SCIM integration configured, you're unaffected. To verify your configuration:
- Use
tctl get plugins/okta --format=json | jq ".[].spec.Settings.okta.sync_settings.sync_users"
command to check if you have Okta integration with user sync enabled. If it outputs null or false, you may be affected and should upgrade. - Check SCIM provisioning settings for the Okta application you created or updated while following the SCIM-only setup guide. If SCIM provisioning is enabled, you may be affected and should upgrade.
We strongly recommend customers who use Okta SCIM integration to upgrade their auth servers to version 15.4.19 or later. Teleport services other than auth (proxy, SSH, Kubernetes, desktop, application, database and discovery) are not impacted and do not need to be updated.
Other improvements and fixes
- Added a new teleport_roles_total metric that exposes the number of roles which exist in a cluster. #47811
- The
join_token.create
audit event has been enriched with additional metadata. #47766 - Automatic device enrollment may be locally disabled using the TELEPORT_DEVICE_AUTO_ENROLL_DISABLED=1 environment variable. #47719
- Fixed the Machine ID and GitHub Actions wizard. #47709
- Alter ServiceAccounts in the teleport-cluster Helm chart to automatically disable mounting of service account tokens on newer Kubernetes distributions, helping satisfy security linters. #47702
- Avoid tsh auto-enroll escalation in machines without a TPM. #47696
- Fixed a bug that prevented users from canceling
tsh scan keys
executions. #47657 - Reworked the
teleport-event-handler
integration to significantly improve performance, especially when running with larger--concurrency
values. #47632 - Fixes a bug where Let's Encrypt certificate renewal failed in AMI and HA deployments due to insufficient disk space caused by syncing audit logs. #47624
- Adds support for custom SQS consumer lock name and disabling a consumer. #47613
- Allow using a custom database for Firestore backends. #47584
- Include host name instead of host uuid in error messages when SSH connections are prevented due to an invalid login. #47579
- Extended Teleport Discovery Service to support resource discovery across all projects accessible by the service account. #47567
- Fixed a bug that could allow users to list active sessions even when prohibited by RBAC. #47563
- The tctl tokens ls command redacts secret join tokens by default. To include the token values, provide the new --with-secrets flag. #47546
- Fix the example Terraform code to support the new larger Teleport Enterprise licenses and updates output of web address to use fqdn when ACM is disabled. #47511
- Added missing field-level documentation to the terraform provider reference. #47470
- Fixed a bug where tsh logout failed to parse flags passed with spaces. #47462
- Fixed the resource-based labels handler crashing without restarting. #47453
- Fix possibly missing rules when using large amount of Access Monitoring Rules. #47429
Enterprise:
- Device auto-enroll failures are now recorded in the audit log.
- Fixed possible panic when processing Okta assignments.
15.4.20 (10/10/24)
- Added ability to list/get access monitoring rules resources with
tctl
. #47402 - Include JWK header in JWTs issued by Teleport Application Access. #47394
- Added kubeconfig context name to the output table of
tsh proxy kube
command for enhanced clarity. #47382 - Improve error messaging when connections to offline agents are attempted. #47362
- Allow specifying the instance type of AWS HA Terraform bastion instance. #47339
- Added a config option to Teleport Connect to control how it interacts with the local SSH agent (
sshAgent.addKeysToAgent
). #47325 - Fixed error in Workload ID in cases where the process ID cannot be resolved. #47275
- Teleport Connect for Linux now requires glibc 2.31 or later. #47263
- Fix missing
tsh
MFA prompt in certain OTP+WebAuthn scenarios. #47155 - Updates self-hosted db discover flow to generate 2190h TTL certs, not 12h. #47127
- Fixes an issue preventing Access Requests from displaying user friendly resource names. #47111
- Updated Go to
1.22.8
. #47052 - Fixed the "source path is empty" error when attempting to upload a file in Teleport Connect. #47013
- Enforce a global
device_trust.mode=required
on OSS processes paired with an Enterprise Auth. #46946 - A user joining a session will now see available controls for terminating & leaving the session. #46910
- Added a new config option in Teleport Connect to control SSH agent forwarding (
ssh.forwardAgent
); starting in Teleport Connect v17, this option will be disabled by default. #46897 - Teleport no longer creates invalid SAML Connectors when calling
tctl get saml/<connector-name> | tctl create -f
without the--with-secrets
flag. #46864 - Fixed a regression in the SAML IdP service which prevented cache from initializing in a cluster that may have a service provider configured with unsupported
acs_url
andrelay_state
values. #46846 - Machine ID now generates cluster-specific ssh_config and known_host files which will always direct SSH connections made using them via Teleport. #46685
- Added new empty state to Devices list in web UI. #5119
- Permit bootstrapping enterprise clusters with state from an open source cluster. #5094
- Fixes a possible crash when using Teleport Policy's GitLab integration. #5071
- Emit audit logs when creating, updating or deleting Teleport Plugins. #5056
15.4.19 (09/17/24)
- Fixed a bug in Kubernetes access that causes the error
expected *metav1.PartialObjectMetadata object
when trying to list resources. #46695 - Fixed an issue that prevented host user creation when the username was also listed in
host_groups
. #46638 - Allow the cluster wide ssh dial timeout to be set via auth_service.ssh_dial_timeout in the Teleport config file. #46508
- Allow all audit events to be trimmed if necessary. #46504
- Fixed an issue preventing session joining while host user creation was in use. #46502
- Fixed an issue that prevented the Firestore backend from reading existing data. #46436
- The teleport-kube-agent chart now correctly propagates configured annotations when deploying a StatefulSet. #46422
- Updated tsh puttyconfig to respect any defined proxy templates. #46385
- Added tbot Helm chart for deploying a Machine ID Bot into a Teleport cluster. #46374
- Ensure that additional pod labels are carried over to post-upgrade and post-delete hook job pods when using the teleport-kube-agent Helm chart. #46231
15.4.18 (09/05/24)
- Fixed an issue that could result in duplicate session recordings being created. #46264
- Added API resources for auto update (config and version). #46257
- Added support for the teleport_installer resource to the Teleport Terraform provider. #46202
- Fixed an issue that would cause reissue of certificates to fail in some scenarios where a local auth service was present. #46183
- Updated OpenSSL to 3.0.15. #46181
- Extended Teleport ability to use non-default cluster domains in Kubernetes, avoiding the assumption of
cluster.local
. #46151 - Fixed retention period handling in the CockroachDB audit log storage backend. #46148
- Prevented Teleport Kubernetes access from resending resize events to the party that triggered the terminal resize, avoiding potential resize loops. #46067
- Fixed an issue where attempts to play/export certain session recordings would fail with
gzip: invalid header
. #46034 - Fixed a bug where Teleport services could not join the cluster using IAM, Azure, or TPM methods when the proxy service certificate did not contain IP SANs. #46009
- Updated the icons for server, application, and desktop resources. #45991
- Failure to share a local directory in a Windows desktop session is no longer considered a fatal error. #45853
- Fixed Okta role formatting in tsh login output. #45582
15.4.17 (08/28/24)
- Prevent connections from being randomly terminated by Teleport proxies when
proxy_protocol
is enabled and TLS is terminated before Teleport Proxy. #45993 - Fixed an issue where host_sudoers could be written to Teleport proxy server sudoer lists in Teleport v14 and v15. #45961
- Prevent interactive sessions from hanging on exit. #45953
- Fixed kernel version check of Enhanced Session Recording for distributions with backported BPF. #45942
- Added a flag to skip a relogin attempt when using
tsh ssh
andtsh proxy ssh
. #45930 - Fixed an issue WebSocket upgrade fails with MiTM proxies that can remask payloads. #45900
- When a database is created manually (without auto-discovery) the teleport.dev/db-admin and teleport.dev/db-admin-default-database labels are no longer ignored and can be used to configure database auto-user provisioning. #45892
- Slack plugin now lists logins permitted by requested roles. #45854
- Fixed an issue that prevented the creation of AWS App Access for an Integration that used digits only (eg, AWS Account ID). #45818
- For new EKS Cluster auto-enroll configurations, the temporary Access Entry is tagged with
teleport.dev/
namespaced tags. For existing set ups, please add theeks:TagResource
action to the Integration IAM Role to get the same behavior. #45726 - Added support for importing S3 Bucket Tags into Teleport Policy's Access Graph. For existing configurations, ensure that the
s3:GetBucketTagging
permission is manually included in the Teleport Access Graph integration role. #45550
15.4.16 (08/23/24)
Security fix
[High] Stored XSS in SAML IdP
When registering a service provider with SAML IdP, Teleport did not sufficiently validate the ACS endpoint. This could allow a Teleport administrator with permissions to write saml_idp_service_provider resources to configure a malicious service provider with an XSS payload and compromise session of users who would access that service provider.
Note: This vulnerability is only applicable when Teleport itself is acting as the identity provider. If you only use SAML to connect to an upstream identity provider you are not impacted. You can use the tctl get saml_idp_service_provider command to verify if you have any Service Provider applications registered and Teleport acts as an IdP.
For self-hosted Teleport customers that use Teleport as SAML Identity Provider, we recommend upgrading auth and proxy servers. Teleport agents (SSH, Kubernetes, desktop, application, database and discovery) are not impacted and do not need to be updated.
Other fixes and improvements
- Fixed an issue where Teleport could modify group assignments for users not managed by Teleport. This will require a migration of host users created with create_host_user_mode: keep in order to maintain Teleport management. #45792
- Fixed host user creation for tsh scp. #45681
- Fixed AWS access failing when the username is longer than 64 characters. #45656
- Permit setting a cluster wide SSH connection dial timeout. #45651
- Improved performance of host resolution performed via tsh ssh when connecting via labels or proxy templates. #45645
- Removed empty tcp app session recordings. #45642
- Fixed Teleport plugins images using the wrong entrypoint. #45618
- Added debug images for Teleport plugins. #45618
- Fixed FeatureHiding flag not hiding the "Access Management" section in the UI. #45613
- Fixed Host User Management deletes users that are not managed by Teleport. #45595
- Fixed a security vulnerability with PostgreSQL integration where a maliciously crafted startup packet with an empty database name can bypass the intended access control. #45555
- Fixed the debug service not being enabled by default when not using a configuration file. #45479
- Introduced support for Envoy SDS into the Machine ID spiffe-workload-api service. #45463
- Improved the output of
tsh sessions ls
to make it easier to understand what sessions are ongoing and what sessions are user can/should join as a moderator. #45453 - Fixed access entry handling permission error when EKS auto-discovery was set up in the Discover UI. #45443
- Fixed the web UI showing vague error messages when enrolling EKS clusters in the Discover UI. #45416
- Fixed the "Create A Bot" flow for GitHub Actions and SSH not correctly granting the bot the role created during the flow. #45410
- Fixed a panic caused by AWS STS client not being initialized when assuming an AWS Role. #45381
- Fixed
teleport debug
commands incorrectly handling an unset data directory in the Teleport config. #45342
Enterprise:
- Fixed Okta Sync spuriously deleting Okta Applications due to connectivity errors. #4886
- Fixed Okta Sync mistakenly removing Apps and Groups on connectivity failure. #4884
- Fixes the SAML IdP session preventing SAML IdP sessions from being consistently updated when users assumed a role or switched back from the role granted in the Access Request. #4879
- Fixed a security issue where a user who can create
saml_idp_service_provider
resources can compromise the sessions of more powerful users and perform actions on behalf of others. #4863 - Fixed the SAML IdP authentication middleware preventing users from signing into the service provider when an SAML authentication request was made with an HTTP-POST binding protocol and user's didn't already have an active session with Teleport. #4852
15.4.12 (08/08/24)
- Improved copy and paste behavior in the terminal in Teleport Connect. On Windows and Linux, Ctrl+Shift+C/V now copies and pastes text (these shortcuts can be changed with
keymap.terminalCopy
/keymap.terminalPaste
). A mouse right click (terminal.rightClick
) can copy/paste text too (enabled by default on Windows). #45266 - Updated Go toolchain to
1.22.6
. #45195 - Improved
tsh ssh
performance for concurrent execs. #45163 - Fixed regression that denied access to launch some applications. #45150
- Bot resources now honour their
metadata.expires
field. #45133 - Teleport Connect now sets
TERM_PROGRAM: Teleport_Connect
andTERM_PROGRAM_VERSION: <app_version>
environment variables in the integrated terminal. #45064 - Fix a panic in the Microsoft teams plugin when it receives an error. #45012
- Adds SPIFFE compatible federation bundle endpoint to the Proxy API, allowing other workload identity platforms to federate with the Teleport cluster. #44999
- Added warning on
tbot
startup when the requested certificate TTL exceeds the maximum allowed value. #44988 - Fixed race condition between session recording uploads and session recording upload cleanup. #44979
- Prevent Kubernetes per-Resource RBAC from blocking access to namespaces when denying access to a single resource kind in every namespace. #44975
- Fix
tbot
FIPS builds failing to start due to missing boringcrypto. #44908 - Added support for Kubernetes Workload Attestation into Teleport Workload Identity to allow the authentication of pods running within Kubernetes without secrets. #44884
- Machine ID can now be configured to use Kubernetes Secret destinations from the command line using the
kubernetes-secret
schema. #44804 - Prevent discovery service from overwriting Teleport dynamic resources that have the same name as discovered resources. #44786
- Teleport Connect now uses ConPTY for better terminal resizing and accurate color rendering on Windows, with an option to disable it in the app config. #44743
- Fixed event-handler Helm charts using the wrong command when starting the event-handler container. #44698
- Enabled Mattermost plugin for notification routing ruled. #4773
15.4.11 (07/29/24)
- Fixed an issue that could cause auth servers to panic when their backend connectivity was interrupted. #44787
- Reduced the probability that the event-handler deadlocks when encountering errors processing session recordings. #44772
- Improved event-handler diagnostics by providing a way to capture profiles dynamically via
SIGUSR1
. #44759 - Added support for Teams to Opsgenie plugin alert creation. #44330
15.4.10 (07/28/24)
- Improved stability of very large teleport clusters during temporary backend disruption/degradation. #44695
- Resolved compatibility issue with Paramiko and Machine ID's SSH multiplexer SSH agent. #44672
- Fixed a fatal error in
tbot
when unable to lookup the user from a given UID in containerized environments for checking ACL configuration. #44646 - Fixed application access regression where an HTTP header wasn't set in forwarded requests. #44629
- Use the registered port of the target host when
tsh puttyconfig
is invoked without--port
. #44573 - Added more icons for guessing application icon by name or by label
teleport.icon
in the web UI. #44568 - Removed deprecated S3 bucket option when creating or editing AWS OIDC integration in the web UI. #44487
- Fixed terminal sessions with a database CLI client in Teleport Connect hanging indefinitely if the client cannot be found. #44466
- Added application-tunnel service to Machine ID for establishing a long-lived tunnel to a HTTP or TCP application for Machine to Machine access. #44446
- Fixed a low-probability panic in audit event upload logic. #44424
- Fixed Teleport Connect binaries not being signed correctly. #44420
- Prevented DoSing the cluster during a mass failed join event by agents. #44415
- Added audit events for AWS and Azure integration resource actions. #44404
- Fixed automatic updates with previous versions of the
teleport.yaml
config. #44378 - Added support for Rocky and AlmaLinux when enrolling a new server from the UI. #44331
- Fixed Teleport access plugin tarballs containing a
build
directory, which was accidentally added upon v15.4.5 release. #44301 - Prevented an infinite loop in DynamoDB event querying by advancing the cursor to the next day when the limit is reached at the end of a day with an empty iterator. This ensures the cursor does not reset to the beginning of the day. #44274
- The clipboard sharing tooltip for desktop sessions now indicates why clipboard sharing is disabled. #44238
- Fixed a
kube-agent-updater
bug affecting resolutions of private images. #44192 - Prevented redirects to arbitrary URLs when launching an app. #44189
- Added audit event field describing if the "MFA for admin actions" requirement changed. #44185
- The
teleport-cluster
chart can now use existing ingresses instead of creating its own. #44147 - Ensured that
tsh login
outputs accurate status information for the new session. #44144 - Fixed "device trust mode x requires Teleport Enterprise" errors on
tctl
. #44134 - Added a
--skip-idle-time
flag totsh play
. #44095 - Added the
tbot install systemd
command for installing tbot as a service on Linux systems. #44082 - Added ability to list Access List members in json format in
tctl
cli tool. #44072 - Made
tbot
compilable on Windows. #44070 - For slack integration, Access List reminders are batched into 1 message and provides link out to the web UI. #44035
- Fixed denying access despite access being configured for Notification Routing Rules in the web UI. #44028
- Fixed eBPF error occurring during startup on Linux RHEL 9. #44024
- Lowered latency of detecting Kubernetes cluster becoming online. #43971
- Enabled Access Monitoring Rules routing with Mattermost plugin. #43600
Enterprise:
- Fixed an Access List permission bug where an Access List owner, who is also a member, was not able to add/rm Access List member.
- Fixed an issue with incorrect yum/zypper updater packages being installed.
- Fixed empty condition from unquoted string with yaml editor for Notification Routing Rules in the Web UI.
15.4.9 (07/11/24)
- Honor proxy templates in tsh ssh. #44027
- Fixed Redshift auto-user deactivation/deletion failure that occurs when a user is created or deleted and another user is deactivated concurrently. #43975
- Teleport AMIs now optionally source environment variables from
/etc/default/teleport
as regular Teleport package installations do. #43961 - Enabled setting event types to forward, skip events, skip session types in event-handler helm chart. #43939
- Correctly propagate
extraLabels
configured in teleport-kube-agent chart values to post-delete hooks. A newextraLabels.job
object has been added for labels which should only apply to the post-delete job. #43931 - Machine ID outputs now execute individually and concurrently, meaning that one failing output does not disrupt other outputs, and that performance when generating a large number of outputs is improved. #43883
- Omit control plane services from the inventory list output for Cloud-Hosted instances. #43778
- Fixed session recordings getting overwritten or not uploaded. #42164
Enterprise:
- Fixed inaccurately notifying user that Access List reviews are due in the web UI.
15.4.7 (07/03/24)
- Added audit events for discovery config actions. #43794
- Updated Go toolchain to v1.22.5. #43769
- Reduced CPU usage in auth servers experiencing very high concurrent request load. #43760
- Machine ID defaults to disabling the use of the Kubernetes exec plugin when writing a Kubeconfig to a directory destination. This removes the need to manually configure
disable_exec_plugin
. #43656 - Fixed startup crash of Teleport Connect on Ubuntu 24.04 by adding an AppArmor profile. #43652
- Added support for dialling leaf clusters to the tbot SSH multiplexer. #43635
- Extend Teleport ability to use non-default cluster domains in Kubernetes, avoiding the assumption of
cluster.local
. #43632 - Wait for user MFA input when reissuing expired certificates for a kube proxy. #43613
- Improved error diagnostics when using Machine ID's SSH multiplexer. #43587
Enterprise:
- Increased Access Monitoring refresh interval to 24h.
- Teleport Enterprise now supports the
TELEPORT_REPORTING_HTTP(S)_PROXY
environment variable to specify the URL of the HTTP(S) proxy used for connections to our usage reporting ingest service.
15.4.6 (06/27/24)
This release of Teleport contains a fix for medium-level security issue impacting Teleport Enterprise, as well as various other updates and improvements
Security Fixes
- [Medium] Fixes issue where a SCIM client could potentially overwrite. Teleport system Roles using specially crafted groups. This issue impacts Teleport Enterprise deployments using the Okta integration with SCIM support enabled.
We strongly recommend all customers upgrade to the latest releases of Teleport.
Other updates and improvements
- Fixed Discover setup access error when updating user. #43561
- Updated Go toolchain to 1.22. #43550
- Fixed remote port forwarding validation error. #43517
- Added support to trust system CAs for self-hosted databases. #43500
- Added error display in the Web UI for SSH and Kubernetes sessions. #43491
- Update
go-retryablehttp
to v0.7.7 (fixes CVE-2024-6104). #43475 - Fixed accurate inventory reporting of the updater after it is removed.. #43453
tctl alerts ls
now displays remaining alert ttl. #43435- Fixed input search for Teleport Connect's Access Request listing. #43430
- Added
Debug
setting for event-handler. #43409 - Fixed Headless auth for sso users, including when local auth is disabled. #43362
- Added configuration for custom CAs in the event-handler helm chart. #43341
- Fixed an issue with Database Access Controls preventing users from making additional database connections depending on their permissions. #43302
- Fixed Connect My Computer in Teleport Connect failing with "bind: invalid argument". #43288
Enterprise only updates and improvements
- The teleport updater will no longer default to using the global version channel, avoiding incompatible updates. #4476
15.4.5 (06/20/24)
- Added a missing
[Install]
section to theteleport-acm
systemd unit file as used by Teleport AMIs. #43256 - Patched timing variability in curve25519-dalek. #43249
- Updated
tctl
to ignore a configuration file if theauth_service
section is disabled, and prefer loading credentials from a given identity file or tsh profile instead. #43203 - Fixed setting request reason for automatic ssh Access Requests. #43180
- Updated
teleport
to skipjamf_service
validation when the Jamf service is not enabled. #43169 - Improved log rotation logic in Teleport Connect; now the non-numbered files always contain recent logs. #43162
- Made
tsh
and Teleport Connect return early during login if ping to Proxy Service was not successful. #43086 - Added ability to edit user traits from the Web UI. #43068
- Enforce limits when reading events from Firestore to prevent OOM events. #42967
- Fixed updating groups for Teleport-created host users. #42884
- Added support for
crown_jewel
resource. #42866 - Added ability to edit user traits from the Web UI. #43068
- Fixed gRPC disconnection on certificate expiry even though DisconnectCertExpiry was false. #43291
- Fixed issue where a Teleport instance running only Jamf or Discovery service would never have a healthy
/readyz
endpoint. #43284
Enterprise-only changes
- Fixed sync error in Okta SCIM integration.
15.4.4 (06/13/24)
- Improve search and predicate/label based dialing performance in large clusters under very high load. #42941
- Fix an issue Oracle access failed through trusted cluster. #42928
- Fix errors caused by
dynamoevents
queryStartKey
not being within the [From, To] window. #42915 - Fix Jira Issue creation when Summary exceeds the max allowed size. #42862
- Fix editing reviewers from being ignored/overwritten when creating an Access Request from the web UI. #4397
15.4.3 (06/12/24)
Note: This release includes a new binary, fdpass-teleport
, that can be
optionally used by Machine ID to significantly reduce resource consumption in
use-cases that create large numbers of SSH connections (e.g. Ansible). Refer to
the documentation
for more details.
- Update
azidentity
tov1.6.0
(patchesCVE-2024-35255
). #42859 - Remote rate limits on endpoints used extensively to connect to the cluster. #42835
- Machine ID SSH multiplexer now only writes artifacts if they have not changed, resolving a potential race condition with the OpenSSH client. #42830
- Use more efficient API when querying SSH nodes to resolve Proxy Templates in
tbot
. #42829 - Improve the performance of the Athena audit log and S3 session storage backends. #42795
- Prevent a panic in the Proxy when accessing an offline application. #42786
- Improve backoff of session recording uploads by teleport agents. #42776
- Introduce the new Machine ID
ssh-multiplexer
service for significant improvements in SSH performance. #42761 - Reduce backend writes incurred by tracking status of non-recorded sessions. #42694
- Fix not being able to logout from the web UI when session invalidation errors. #42648
- Fix Access List listing not updating when creating or deleting an Access List in the web UI. #4383
- Fix crashes related to importing GCP labels. #42871
15.4.2 (06/11/24)
- Fixed a desktop access resize bug which occurs when window was resized during MFA. #42705
- Fixed listing available db users in Teleport Connect for databases from leaf clusters obtained through Access Requests. #42679
- Fixed file upload/download for Teleport-created users in
insecure-drop
mode. #42660 - Updated OpenSSL to 3.0.14. #42642
- Fixed fetching resources with tons of metadata (such as labels or description) in Teleport Connect. #42627
- Added support for Microsoft Entra ID directory synchronization (Teleport Enterprise only, preview). #42555
- Added experimental support for storing audit events in cockroach. #42549
- Teleport Connect binaries for Windows are now signed. #42472
- Updated Go to 1.21.11. #42404
- Added GCP Cloud SQL for PostgreSQL backend support. #42399
- Added Prometheus metrics for the Postgres event backend. #42384
- Fixed the event-handler Helm chart causing stuck rollouts when using a PVC. #42363
- Fixed web UI notification dropdown menu height from growing too long from many notifications. #42336
- Disabled session recordings for non-interactive sessions when enhanced recording is disabled. There is no loss of auditing or impact on data fidelity because these recordings only contained session.start, session.end, and session.leave events which were already captured in the audit log. This will cause all teleport components to consume less resources and reduce storage costs. #42320
- Fixed an issue where removing an app could make teleport app agents incorrectly report as unhealthy for a short time. #42270
- Fixed a panic in the DynamoDB audit log backend when the cursor fell outside of the [From,To] interval. #42267
- The
teleport configure
command now supports a--node-name
flag for overriding the node's hostname. #42250 - Added support plugin resource in
tctl
tool. #42224
15.4.0 (05/31/24)
Access requests notification routing rules
Hosted Slack plugin users can now configure notification routing rules for role-based Access Requests.
Database access for Spanner
Database access users can now connect to GCP Spanner.
Unix Workload Attestation
Delayed from Teleport 15.3.0
Teleport Workload ID now supports basic workload attestation on Unix systems, allowing cluster administrators to restrict the issuance of SVIDs to specific workloads based on UID/PID/GID.
Other improvements and fixes
- Fixed an issue where mix-and-match of join tokens could interfere with some services appearing correctly in heartbeats. #42189
- Added an alternate EC2 auto discover flow using AWS Systems Manager as a more scalable method than Endpoint Instance Connect in the "Enroll New Resource" view in the web UI. #42205
- Fixed
kubectl exec
functionality when Teleport is running behind L7 load balancer. #42192 - Fixed the plugins AMR cache to be updated when Access requests are removed from the subject of an existing rule. #42186
- Improved temporary disk space usage for session recording processing. #42174
- Fixed a regression where Kubernetes Exec audit events were not properly populated and lacked error details. #42145
- Fixed Azure join method when using Resource Groups in the allow section. #42141
- Added new
teleport debug set-log-level / profile
commands changing instance log level without a restart and collecting pprof profiles. #42122 - Added ability to manage access monitoring rules via
tctl
. #42092 - Added access monitoring rule routing for slack access plugin. #42087
- Extended Discovery Service to self-bootstrap necessary permissions for Kubernetes Service to interact with the Kubernetes API on behalf of users. #42075
- Fixed resource leak in session recording cleanup. #42066
- Reduced memory and CPU usage after control plane restarts in clusters with a high number of roles. #42062
- Added an option to send a
Ctrl+Alt+Del
sequence to remote desktops. #41720 - Added support for GCP Spanner to Teleport Database Service. #41349
15.3.7 (05/23/24)
- Fixed creating Access Requests for servers in Teleport Connect that were blocked due to a "no roles configured" error. #41959
- Fixed regression issue with event-handler Linux artifacts not being available. #4237
- Fixed failed startup on GCP if missing permissions. #41985
15.3.6 (05/22/24)
This release contains fixes for several high-severity security issues, as well as numerous other bug fixes and improvements.
Security Fixes
-
[High] Fixed unrestricted redirect in SSO Authentication. Teleport didn’t sufficiently validate the client redirect URL. This could allow an attacker to trick Teleport users into performing an SSO authentication and redirect to an attacker-controlled URL allowing them to steal the credentials. #41834.
-
[High] Fixed CockroachDB authorization bypass. When connecting to CockroachDB using database access, Teleport did not properly consider the username case when running RBAC checks. As such, it was possible to establish a connection using an explicitly denied username when using a different case. #41823.
-
[High] Fixed Long-lived connection persistence issue with expired certificates. Teleport did not terminate some long-running mTLS-authenticated connections past the expiry of client certificates for users with the
disconnect_expired_cert
option. This could allow such users to perform some API actions after their certificate has expired. #41827. -
[High] Fixed PagerDuty integration privilege escalation. When creating a role Access Request, Teleport would include PagerDuty annotations from the entire user’s role set rather than a specific role being requested. For users who run multiple PagerDuty access plugins with auto-approval, this could result in a request for a different role being inadvertently auto-approved than the one which corresponds to the user’s active on-call schedule. #41837.
-
[High] Fixed SAML IdP session privilege escalation. When using Teleport as SAML IdP, authorization wasn’t properly enforced on the SAML IdP session creation. As such, authenticated users could use an internal API to escalate their own privileges by crafting a malicious program. #41846.
We strongly recommend all customers upgrade to the latest releases of Teleport.
Other fixes and improvements
- Fixed Access Request annotations when annotations contain globs, regular
expressions, trait expansions, or
claims_to_roles
is used. #41936. - Added AWS Management Console as a guided flow using AWS OIDC integration in the "Enroll New Resource" view in the web UI. #41864.
- Fixed spurious Windows Desktop sessions screen resize during an MFA ceremony. #41856.
- Fixed session upload completion with large number of simultaneous session uploads. #41854.
- Fixed MySQL databases version reporting on new connections. #41819.
- Added read-only permissions for cluster maintenance config. #41790.
- Stripped debug symbols from Windows builds, resulting in smaller
tsh
andtctl
binaries. #41787 - Fixed passkey deletion so that a user may now delete their last passkey if the have a password and another MFA configured. #41771.
- Changed the default permissions for the Workload Identity Unix socket to
0777
rather than the default as applied by the umask. This will allow the socket to be accessed by workloads running as users other than the user that owns thetbot
process. #41754 - Added ability for
teleport-event-handler
to skip certain events type when forwarding to an upstream server. #41747. - Added automatic GCP label importing. #41733.
- Fixed missing variable and script options in Default Agentless Installer script. #41723.
- Removed invalid AWS Roles from Web UI picker. #41707.
- Added remote address to audit log events emitted when a Bot or Instance join completes, successfully or otherwise. #41700.
- Simplified how Bots are shown on the Users list page. #41697.
- Added improved-performance implementation of ProxyCommand for Machine ID and
SSH. This will become the default in v16. You can adopt this new mode early by
setting
TBOT_SSH_CONFIG_PROXY_COMMAND_MODE=new
. #41694. - Improved EC2 Auto Discovery by adding the SSM script output and more explicit error messages. #41664.
- Added webauthn diagnostics commands to
tctl
. #41643. - Upgraded application heartbeat service to support 1000+ dynamic applications. #41626
- Fixed issue where Kubernetes watch requests are written out of order. #41624.
- Fixed a race condition triggered by a reload during Teleport startup. #41592.
- Updated discover wizard Install Script to support Ubuntu 24.04. #41589.
- Fixed
systemd
unit to always restart Teleport on failure unless explicitly stopped. #41581. - Updated Teleport package installers to reload Teleport service config after upgrades. #41547.
- Fixed file truncation bug in Desktop Directory Sharing. #41540.
- Fixed WebUI SSH connection leak when browser tab closed during SSH connection establishment. #41518.
- Fixed AccessList reconciler comparison causing audit events noise. #41517.
- Added tooling to create SCIM integrations in tctl. #41514.
- Fixed Windows Desktop error preventing rendering of the remote session. #41498.
- Fixed issue in the PagerDuty, Opsgenie and ServiceNow access plugins that causing duplicate calls on Access Requests containing duplicate service names. Also increases the timeout so slow external API requests are less likely to fail. #41488.
- Added basic Unix workload attestation to the
tbot
SPIFFE workload API. You can now restrict the issuance of certain SVIDs to processes running with a certain UID, GID or PID. #41450. - Added "login failed" audit events for invalid passwords on password+webauthn
local authentication. #41432.
Fixed Terraform provider issue causing the Provision Token options to default
to
false
instead of empty. #41429. - Added support to automatically download CA for MongoDB Atlas databases. #41338.
- Fixed broken "finish" web page for SSO Users on auto discover. #41335.
- Allow setting Kubernetes Cluster name when using non-default addresses. #41331.
- Added fallback on GetAccessList cache miss call. #41326.
- Fixed DiscoveryService panic when auto-enrolling EKS clusters. #41320.
- Added validation for application URL extracted from the web application launcher request route. #41304.
- Allow defining custom database names and users when selecting wildcard during test connection when enrolling a database through the web UI. #41301.
- Fixed broken link for alternative EC2 installation during EC2 discover flow. #41292
- Updated Go to v1.21.10. #41281.
- Updated user management to explicitly deny password resets and local logins to SSO users. #41270.
- Fixed fetching suggested Access Lists with large IDs in Teleport Connect. #41269.
- Prevents cloud tenants from updating
cluster_networking_config
fieldskeep_alive_count_max
,keep_alive_interval
,tunnel_strategy
, orproxy_listener_mode
. #41247. - Added support for creating Okta integrations with
tctl
#41888.
15.3.1 (05/07/24)
- Fixed
screen_size
behavior for Windows Desktops, which was being overridden by the new resize feature. #41241 - Ensure that the active sessions page shows up in the web UI for users with permissions to join sessions. #41221
- Added indicators on the account settings page that tell which authentication methods are active. #41169
- Fix a bug that was preventing tsh proxy kube certificate renewal from working when accessing a leaf kubernetes cluster via the root. #41158
- Fixed
AccessDeniedException
fordynamodb:ConditionCheckItem
operations when using Amazon DynamoDB for cluster state storage. #41133 - Added lock target to lock deletion audit events. #41112
- Fixed a permissions issue that prevented the teleport-cluster helm chart operator from registering agentless ssh servers. #41108
- Improve the reliability of the upload completer. #41103
- Allows the listener for the
tbot
database-tunnel
service to be set to a unix socket. #41008
15.3.0 (04/30/24)
Improved Roles UI
The Roles page of the web UI is now backed by a paginated API, improving load times even on clusters with large numbers of roles.
Resizing for Windows desktop sessions
Windows desktop sessions now automatically resize as the size of the browser window changes.
Hardware key support for agentless nodes
Teleport now supports connecting to agentless OpenSSH nodes even when Teleport is configured to require hardware key MFA checks.
TPM joining
The new TPM join method enables secure joining for agents and Machine ID bots that run on-premise. Based on the secure properties of the host's hardware trusted platform module, this join method removes the need to create and distribute secret tokens, significantly reducing the risk of exfiltration.
Other improvements and fixes
- Fixed user SSO bypass by performing a local passwordless login. #41067
- Enforce allow_passwordless server-side. #41057
- Fixed a memory leak caused by incorrectly passing the offset when paginating all Access Lists' members when there are more than the default pagesize (200) Access Lists. #41045
- Added resize capability to windows desktop sessions. #41025
- Fixed a regression causing roles filtering to not work. #40999
- Allow AWS integration to be used for global services without specifying a valid region. #40991
- Made account id visible when selecting IAM Role for accessing the AWS Console. #40987
15.2.5 (04/26/24)
- Extend proxy templates to allow the target host to be resolved via a predicate expression or fuzzy matching. #40966
- Fix an issue where Access Requests would linger in UI and tctl after expiry. #40964
- The
teleport-cluster
Helm chart can configure AccessMonitoring when running inaws
mode. #40957 - Make
podSecurityContext
configurable in theteleport-cluster
Helm chart. #40951 - Allow to mount extra volumes in the updater pod deployed by the
teleport-kube-agent
chart. #40946 - Improve error message when performing an SSO login with a hardware key. #40923
- Fix a bug in the
teleport-cluster
Helm chart that happened whensessionRecording
wasoff
. #40919 - Fix audit event failures when using DynamoDB event storage. #40913
- Allow setting additional Kubernetes labels on resources created by the
teleport-cluster
Helm chart. #40909 - Fix Windows cursor getting stuck. #40890
- Issue
cert.create
events during device authentication. #40872 - Add the ability to control
ssh_config
generation in Machine ID's Identity Outputs. This allows the generation of thessh_config
to be disabled if unnecessary, improving performance and removing the dependency on the Proxy being online. #40861 - Prevent deleting AWS OIDC integration used by External Audit Storage. #40851
- Introduce the
tpm
join method, which allows for secure joining in on-prem environments without the need for a shared secret. #40823 - Reduce parallelism when polling AWS resources to prevent API throttling when exporting them to Teleport Access Graph. #40811
- Fix spurious deletion of Access List Membership metadata during SCIM push or sync. #40544
- Properly enforce session moderation requirements when starting Kubernetes ephemeral containers. #40906
15.2.4 (04/23/24)
- Fixed a deprecation warning being shown when
tbot
is used with OpenSSH. #40837 - Added a new Audit log event that is emitted when an Agent or Bot request to join the cluster is denied. #40814
- Fixed regenerating cloud account recovery codes. #40786
- Changed UI for the sign-up and authentication reset flows. #40773
- Added a new Prometheus metric to track requests initiated by Teleport against the control plane API. #40754
- Fixed an issue that prevented uploading a zip file larger than 10MiB when updating an AWS Lambda function via tsh app access. #40737
- Patched CVE-2024-32650. #40735
- Fixed possible data race that could lead to concurrent map read and map write while proxying Kubernetes requests. #40720
- Fixed Access Request promotion of windows_desktop resources. #40712
- Fixed spurious ambiguous host errors in ssh routing. #40706
- Patched CVE-2023-45288 and CVE-2024-32473. #40695
- generic "not found" errors are returned whether a remote cluster can't be found or access is denied. #40681
- Fixed a resource leak in the Teleport proxy server when using proxy peering. #40672
- Added Azure CLI access support on AKS with Entra Workload ID. #40660
- Allow other issue types when configuring JIRA plugin. #40644
- Added
regexp.match
to Access Requestfilter
andwhere
expressions. #40642 - Notify the requester in slack review request messages. #40624
- Handle passwordless in MFA audit events. #40617
- Added auto discover capability to EC2 enrollment in the web UI. #40605
- Fixes RDP licensing. #40595
- Added support for the ascii variants of smartcard calls. #40566
- Added the ability to configure labels that should be set on the Kubernetes secret when using the
kubernetes_secret
destination intbot
. #40550 - Updated cosign to address CVE-2024-29902 and CVE-2024-29903. #40497
- The Web UI now supports large number of roles by paginating them. #40463
- Improved the responsiveness of the session player during long periods of idle time. #40442
- Fixed incorrect format for database_object_import_rule resources with non-empty expiry. #40203
- Updated Opsgenie annotations so approve-schedules is used for both alert creation and auto approval if notify schedules is not set. #40121
15.2.2 (04/11/24)
- Updated the cluster selector in the UI to now only be visible when more than one cluster is available. #40478
- Fixed accidental passkey "downgrades" to MFA. #40409
- Added
tsh proxy kube --exec
mode that spawns kube proxy in the background, which re-executes the user shell with the appropriate kubeconfig. #40395 - Made Amazon S3 fields optional when creating or editing AWS OIDC integration on the web UI. #40368
- Fixed a bug that prevented the available logins from being displayed for Windows desktops in leaf clusters that were being accessed via the root cluster web ui. #40367
- Changed Teleport Connect to hide cluster name in the connection list if there is only a single cluster available. #40356
- Fixed
invalid session TTL
error when creating Access Request withtsh
. #40335 - Added missing discovery AWS matchers fields "Integration" and "KubeAppDiscovery" to the file configuration. #40320
- Added automatic role Access Requests. #40285
- Redesigned the login UI. #40272
- Added friendly role names for Okta sourced roles. These will be displayed in Access List and Access Request pages in the UI. #40260
- Added Teleport Machine ID Workload Identity support for legacy systems which are not able to parse DNS SANs, and which are not SPIFFE aware. #40180
15.2.1 (04/05/24)
- Teleport Connect now shows all recent connections instead of capping them at 10. #40250
- Limit max read size for the tsh device trust DMI cache file on Linux. #40234
- Fix an issue that prevents the teleport service from restarting. #40229
- Add new resource filtering predicates to allow exact matches on a single item of a delimited list stored in a label value. For example, if given the following label containing a string separated list of values
foo=bar,baz,bang
, it is now possible to match on any resources with a labelfoo
that contains the elementbar
viacontains(split(labels[foo], ","), bar)
. #40183 - Updated Go to 1.21.9. #40176
- Adds
disable_exec_plugin
option to the Machine ID Kubernetes Output to remove the dependency ontbot
existing in the target environment. #40162 - Adds the
database-tunnel
service totbot
which allows an authenticated database tunnel to be opened bytbot
. This is an improvement over the original technique of usingtbot proxy db
. #40151 - Allow diagnostic endpoints to be accessed behind a PROXY protocol enabled loadbalancer/proxy. #40138
- Include system annotations in audit event entries for Access Requests. #40123
- Fixed GitHub Auth Connector update event to show in Audit Log with name and description. #40116
- Re-enabled the
show_desktop_wallpaper
flag. #40088 - Reduce default Jamf inventory page size, allow custom values to be provided. #3817
15.2.0 (03/29/24)
Improved Access Requests UI
The Access Requests page of the web UI will be backed by a paginated API, improving load times even on clusters with many Access Requests.
Additionally, the UI allows you to search for Access Requests, sort them based on various attributes, and includes several new filtering options.
Zero-downtime web asset rollout
Teleport 15.2 changes the way that web assets are served and cached, which will allow multiple compatible versions of the Teleport Proxy to run behind the same load balancer.
Workload Identity MVP
With Teleport 15.2, Machine ID can bootstrap and issue identity to services across multiple computing environments and organizational boundaries. Workload Identity issues SPIFFE-compatible x509 certificates that can be used for mTLS between services.
Support for Kubernetes 1.29+
The Kubernetes project is deprecating the SPDY protocol for streaming commands (kubectl exec, kubectl port-forward, etc) and replacing it with a new websocket-based subprotocol. Teleport 15.2.0 will support the new protocol to ensure compatibility with newer Kubernetes clusters.
Automatic database Access Requests
Both tsh db connect and tsh proxy db will offer the option to submit an access request if the user attempts to connect to a database that they don't already have access to.
GCP console access via Workforce Identity Federation
Teleport administrators will be able to setup access to GCP web console through Workforce Identity Federation using Teleport as a SAML identity provider.
IaC support for OpenSSH nodes
Users will be able to register OpenSSH nodes in the cluster using Terraform and Kubernetes Operator.
Access requests start time
Users submitting Access Requests via web UI will be able to request specific access start time up to a week in advance.
Terraform and Operator support for agentless SSH nodes
The Teleport Terraform provider and Kubernetes operator now support declaring agentless OpenSSH and OpenSSH EC2 ICE servers. You can follow this guide to register OpenSSH agents with infrastructure as code.
Setting up EC2 ICE automatic discovery with IaC will come in a future update.
Operator and CRDs can be deployed separately
The teleport-operator
and teleport-cluster
charts now support deploying only
the CRD, the CRD and the operator, or only the operator.
From the teleport-cluster
Helm chart:
operator:
enabled: true|false
installCRDs: always|never|dynamic
From the teleport-operator
Helm chart:
enabled: true|false
installCRDs: always|never|dynamic
In dynamic mode (by default), the chart will install CRDs if the operator is enabled, but will not remove the CRDs if you temporarily disable the operator.
Operator now propagates labels
Kubernetes CR labels are now copied to the Teleport resource when applicable. This allows you to configure RBAC for operator-created resources, and to filter Teleport resources using CR labels.
Terraform provider no longer forces resource re-creation on version change
Teleport v15 introduced two Terraform provider changes:
- setting the resource version is now mandatory
- a resource version change triggers the resource re-creation to ensure defaults were correctly set
The second change was too disruptive, especially for roles, as they cannot be deleted if a user or an Access List references them. Teleport 15.2 lifts this restriction and allows version change without forcing the resource deletion.
Another change to ensure resource defaults are correctly set during version upgrades will happen in v16.
Other improvements and fixes
- Fixed "Invalid URI" error in Teleport Connect when starting mongosh from database connection tab. #40033
- Adds support for exporting the SPIFFE CA using
tls auth export --type tls-spiffe
and the/webapi/auth/export
endpoint. #40007 - Update Rust to 1.77.0, enable RDP font smoothing. #39995
- The role, server and token Teleport operator CRs now display additional information when listed with
kubectl get
. #39993 - Improve performance of filtering resources via predicate expressions. #39972
- Fixes a bug that prevented CA import when a SPIFFE CA was present. #39958
- Fix a verbosity issue that caused the
teleport-kube-agent-updater
to output debug logs by default. #39953 - Reduce default Jamf inventory page size, allow custom values to be provided. #39933
- AWS IAM Roles are now filterable in the web UI when launching a console app. #39911
- The
teleport-cluster
Helm chart now supports using the Amazon Athena event backend. #39907 - Correctly show the users allowed logins when accessing leaf resources via the root cluster web UI. #39887
- Improve performance of resource filtering via labels and fuzzy search. #39791
- Enforce optimistic locking for AuthPreferences, ClusterNetworkingConfig, SessionRecordingConfig. #39785
- Fix potential issue with some resources expiry being set to 01/01/1970 instead of never. #39773
- Update default Access Request TTLs to 1 week. #39509
- Fixed an issue where creating or updating an Access List with Admin MFA would fail in the WebUI. #3827
15.1.10 (03/27/24)
- Fixed possible phishing links which could result in code execution with install and join scripts. #39837
- Fixed MFA checks not being prompted when joining a session. #39814
- Added support for Kubernetes websocket streaming subprotocol v5 connections. #39770
- Fixed a regression causing MFA prompts to not show up in Teleport Connect. #39739
- Fixed broken SSO login landing page on certain versions of Google Chrome. #39723
- Teleport Connect now shows specific error messages instead of generic "access denied". #39720
- Added audit events for database auto user provisioning. #39665
- Updated Electron to v29 in Teleport Connect. #39657
- Added automatic Access Request support for
tsh db login
,tsh db connect
andtsh proxy db
. #39617 - Fixed a bug in Teleport Enterprise (Cloud) causing the hosted ServiceNow plugin to crash when setting up the integration. #39603
- Fixed a bug of the discovery script failing when
jq
was not installed. #39599 - Ensured that audit events are emitted whenever the authentication preferences, cluster networking config, or session recording config are modified. #39522
- Database object labels will now support templates. #39496
15.1.9 (03/19/24)
- Improved performance when listing nodes with tsh or tctl. #39567
- Require AWS S3 bucket fields when creating/editing AWS OIDC integration in the web UII. #39510
- Added remote port forwarding to tsh. #39441
- Added support for setting default relay state for SAML IdP initiated logins via the web interface and
tctl
. For supported preset service provider types, a default value will be applied if the field is not configured. #39401