Changelog
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