The Wire · Showcase
GO FIXES BREAKING ABI REGRESSION AND LOCKS DOWN REVERSE PROXY COOKIE HANDLING
By RepoJournal · Filed · About Go
Go shipped a critical fix for an x86 ABI0 NOFRAME regression that broke existing code, while explicitly documenting that ReverseProxy does not sanitize forwarded cookies.
The x86 toolchain broke ABI0 NOFRAME functions by removing BP as a scratch register, causing failures in production builds [1]. That fix restores BP indirection and closes two open issues. In parallel, the core Go team documented a long-standing security gotcha: ReverseProxy does not sanitize or filter Cookie headers when proxying requests, which means cookies from upstream services flow directly to clients without filtering [2]. This is not a new vulnerability but an explicit documentation push to prevent misuse. The runtime/cgo layer added back indirection to C function calls after a recent refactor caused text segment relocations that broke c-shared builds on Linux [3]. On the tools side, gopls fixed unsafe package resolution in definition lookup [5], ensuring the correct unsafe package is referenced across different build systems. Meanwhile, LoongArch support gained two new bitsel vector instructions for the instruction set [4].
One email a day. Unsubscribe in one click.
Keep up with Go in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Test your x86 ABI0 NOFRAME builds immediately if you hit #80710 or #80709 golang/go [immediate]
- → Review ReverseProxy usage in your HTTP middleware and explicitly filter cookies if needed golang/go [plan]
- → Update gopls to pick up unsafe package resolution fix if you work across multiple build systems golang/tools [plan]
References
- [1] cmd/internal/obj/x86: fix breaking change in ABI0 NOFRAME BP expectations golang/go
- [2] net/http/httputil: document ReverseProxy cookie security considerations golang/go
- [3] runtime/cgo: add back indirections to C functions golang/go
- [4] cmd/internal/obj/loong64: add [X]VBITSELV and [X]VBITSELB instructions support golang/go
- [5] gopls/internal/golang/definition: find the right unsafe golang/tools