Skip to content

Non-interactive Tailscale SSH sessions on FreeBSD may use the effective group ID of the tailscaled process

Moderate severity GitHub Reviewed Published Mar 22, 2023 in tailscale/tailscale • Updated Mar 23, 2023

Package

gomod tailscale.com (Go)

Affected versions

>= 1.34.0, < 1.38.2

Patched versions

1.38.2

Description

A vulnerability identified in the implementation of Tailscale SSH in FreeBSD allowed commands to be run with a higher privilege group ID than that specified by Tailscale SSH access rules.

Affected platforms: FreeBSD

Patched Tailscale client versions: v1.38.2 or later

What happened?

A difference in the behavior of the FreeBSD setgroups system call from POSIX meant that the Tailscale client running on a FreeBSD-based operating system did not appropriately restrict groups on the host when using Tailscale SSH. When accessing a FreeBSD host over Tailscale SSH, the egid of the tailscaled process was used instead of that of the user specified in Tailscale SSH access rules.

Who is affected?

9 tailnets with 22 FreeBSD nodes running Tailscale SSH since Tailscale v1.34 (released on 2022-12-04) may have had Tailscale SSH sessions with a higher privilege group ID than that specified in Tailscale SSH access rules.

We have notified the affected organizations where we have security contacts.

What is the impact?

Tailscale SSH commands may have been run with a higher privilege group ID than that specified in Tailscale SSH access rules if they met all of the following criteria:

  • The destination node was a FreeBSD device with Tailscale SSH enabled;
  • Tailscale SSH access rules permitted access for non-root users; and
  • A non-interactive SSH session was used.

What do I need to do?

If you are running Tailscale on FreeBSD, upgrade to v1.38.2 or later to remediate the issue. Admins of a tailnet can view FreeBSD nodes with unpatched versions in the admin console.

To update the local ports tree in advance of what's available upstream, you can:

  1. cd /usr/ports/security/tailscale
  2. edit the Makefile to set PORTVERSION to 1.38.2
  3. make makesum
  4. make install

Tailscale SSH on other platforms is not affected.

Credits

We would like to thank Ryan Belgrave for reporting this issue.

References

References

@mayakacz mayakacz published to tailscale/tailscale Mar 22, 2023
Published to the GitHub Advisory Database Mar 23, 2023
Reviewed Mar 23, 2023
Published by the National Vulnerability Database Mar 23, 2023
Last updated Mar 23, 2023

Severity

Moderate

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Adjacent
Attack complexity
Low
Privileges required
High
User interaction
Required
Scope
Changed
Confidentiality
High
Integrity
None
Availability
None

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.0/AV:A/AC:L/PR:H/UI:R/S:C/C:H/I:N/A:N

EPSS score

0.042%
(5th percentile)

Weaknesses

CVE ID

CVE-2023-28436

GHSA ID

GHSA-vfgq-g5x8-g595

Source code

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.