Skip to content
Fencer Intel
low —

GHSA-vv6c-69r6-chg9 json

Go-Landlock in best-effort mode did not restrict TCP bind and connect operations correctly

published 2y ago modified 2y ago also GO-2024-3199

cvss
—
not scored
cisa kev
Not listed
not in CISA's catalog
epss
—
no score, EPSS covers CVEs only
public exploits
0
none known

Summary

### Impact When using the recommended "best-effort" mode, Go-Landlock did not restrict the TCP bind() and connect() operations any more when they were requested. This affects Go-Landlock users to whom both of the following conditions apply:

* They use Landlock rulesets that are supposed to restrict networking (through `landlock.V4`, `landlock.V5`, or self-configured). * These Landlock rulesets are used in best-effort mode.

Typically, affected code uses the Go-Landlock API like this (the crucial part being the combination of `V4`/`V5` and `.BestEffort()`):

``` err := landlock.V5.BestEffort().Restrict(...) ```

* This is a bug in the Go-Landlock library and does not affect programs that use Landlock via C or other language bindings. * The bug only affects networking restrictions. File system restrictions continue to work as expected.

### Patches Patched in: https://github.com/landlock-lsm/go-landlock/commit/fb3ad845df462d013f9c8a965c496617c6a5778b Users should upgrade to: v0.0.0-20241013234402-fb3ad845df46

Go package dependencies can be updated using `go get -u` from the project directory.

Projects on Github might get notified by Dependabot, once this advisory is public.

### Workarounds None.

### References Currently none.

[The existing users of Go-Landlock on Github](https://pkg.go.dev/github.com/landlock-lsm/go-landlock/landlock?tab=importedby) have the following bugs filed: * https://github.com/Foxboron/ssh-the-planet/issues/1 * https://github.com/ngergs/websrv/issues/15 * https://github.com/pufferffish/wireproxy/issues/142

Patch / fix

  • go github.com/landlock-lsm/go-landlock 0.0.0-20241013234402-fb3ad845df46

Is GHSA-vv6c-69r6-chg9 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

Affected packages

ecosystem package affected fixed in
go github.com/landlock-lsm/go-landlock
>=0.0.0-20240109, <0.0.0-20241013234402-fb3ad845df46
<0.0.0-20241013234402-fb3ad845df46
0.0.0-20241013234402-fb3ad845df46

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.