Azure / Azure/AKS

TLS 1.2 Handshake Enforcement with Extended Master Secret (EMS) in AKS v1.34

Open
#5,641 0 comments 1 reaction 1 assignee Claimed by @riyac12 View on GitHub
action-required security
Dominant language
TypeScript
Stars
2.1k
Forks
395
Avg merge
2d 22h
Merged PRs (30d)
13

Description

### Description
This update is regarding [a change](https://github.com/golang/go/commit/eed2208f152d1172993a3193374625683e244100) in [Go 1.25](https://go.dev/doc/go1.25) to reject TLS 1.2 handshake without extended master secret (EMS) when FIPS mode is enabled. Starting [AKS v1.34](https://github.com/Azure/AKS/releases/tag/2026-01-04), kubernetes control plane components are built with Go 1.25 and FIPS‑validated cryptographic modules, which enforce EMS for TLS 1.2 connections on FIPS nodes.
When FIPS mode is active, TLS 1.2 handshakes that do not include the EMS extension are rejected. This enforcement applies to both TLS clients and servers implemented using the Go standard library. Prior to Go 1.21, Go TLS clients did not send the EMS extension by default for TLS 1.2 connections. As a result, applications built with older Go versions (Go <1.21) may fail to establish TLS connections to FIPS‑enabled AKS components after upgrading to AKS v1.34. This behavior can affect:
- Client applications communicating with the Kubernetes API server
- Admission webhooks and other webhook servers registered with the kube‑apiserver

### References

- [EMS Enforcement for TLS1.2 in Go 1.25](https://github.com/golang/go/commit/eed2208f152d1172993a3193374625683e244100)

### Affected Components

- AKS Cluster v1.34 if your **applications are built with Go < 1.21**

**Resolutions**

- Rebuild applications using Go 1.21 or later
- Microsoft strongly recommends upgrading to a currently [supported Go version](https://go.dev/doc/devel/release)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.