fix(security): update vulnerability-updates [security] #773
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v28.2.2+incompatible->v28.3.3+incompatiblev2.3.0->v2.4.0GitHub Vulnerability Alerts
CVE-2025-54388
Moby is an open source container framework developed by Docker Inc. that is distributed as Docker Engine, Mirantis Container Runtime, and various other downstream projects/products. The Moby daemon component (dockerd), which is developed as moby/moby is commonly referred to as Docker, or Docker Engine.
Firewalld is a daemon used by some Linux distributions to provide a dynamically managed firewall. When Firewalld is running, Docker uses its iptables backend to create rules, including rules to isolate containers in one bridge network from containers in other bridge networks.
Impact
The iptables rules created by Docker are removed when firewalld is reloaded using, for example "firewall-cmd --reload", "killall -HUP firewalld", or "systemctl reload firewalld".
When that happens, Docker must re-create the rules. However, in affected versions of Docker, the iptables rules that prevent packets arriving on a host interface from reaching container addresses are not re-created.
Once these rules have been removed, a remote host configured with a route to a Docker bridge network can access published ports, even when those ports were only published to a loopback address. Unpublished ports remain inaccessible.
For example, following a firewalld reload on a Docker host with address
192.168.0.10and a bridge network with subnet172.17.0.0/16, running the following command on another host in the local network will give it access to published ports on container addresses in that network:ip route add 172.17.0.0/16 via 192.168.0.10.Containers running in networks created with
--internalor equivalent have no access to other networks. Containers that are only connected to these networks remain isolated after a firewalld reload.Where Docker Engine is not running in the host's network namespace, it is unaffected. Including, for example, Rootless Mode, and Docker Desktop.
Patches
Moby releases older than 28.2.0 are not affected. A fix is available in moby release 28.3.3.
Workarounds
After reloading firewalld, either:
References
https://firewalld.org/
https://firewalld.org/documentation/howto/reload-firewalld.html
GHSA-2464-8j7c-4cjm
Summary
Use of this library in a security-critical context may result in leaking sensitive information, if used to process sensitive fields.
Details
OpenBao (and presumably HashiCorp Vault) have surfaced error messages from
mapstructureas follows:https://github.com/openbao/openbao/blob/98c3a59c040efca724353ca46ca79bd5cdbab920/sdk/framework/field_data.go#L43-L50
where this calls
mapstructure.WeakDecode(...): https://github.com/openbao/openbao/blob/98c3a59c040efca724353ca46ca79bd5cdbab920/sdk/framework/field_data.go#L181-L193Notably,
WeakDecode(...)eventually calls one of the decode helpers, which surfaces the original value viastrconvhelpers:https://github.com/go-viper/mapstructure/blob/8c61ec1924fcfa522f9fc6b4618c672db61d1a38/mapstructure.go#L720-L727
https://github.com/go-viper/mapstructure/blob/8c61ec1924fcfa522f9fc6b4618c672db61d1a38/mapstructure.go#L791-L798
https://github.com/go-viper/mapstructure/blob/8c61ec1924fcfa522f9fc6b4618c672db61d1a38/decode_hooks.go#L180
& more. These are different code paths than are fixed in the previous iteration at GHSA-fv92-fjc5-jj9h.
PoC
To reproduce with OpenBao:
and in a new tab:
Impact
This is an information disclosure bug with little mitigation. See https://discuss.hashicorp.com/t/hcsec-2025-09-vault-may-expose-sensitive-information-in-error-logs-when-processing-malformed-data-with-the-kv-v2-plugin/74717 for a previous version. That version was fixed, but this is in the second part of that error message (starting at
'' expected a map, got 'string'-- when the field type isstringand amapis provided, we see the above information leak -- the previous example had amaptype field with astringvalue provided).This was rated 4.5 Medium by HashiCorp in the past iteration.
Release Notes
docker/docker (github.com/docker/docker)
v28.3.3+incompatibleCompare Source
v28.3.2+incompatibleCompare Source
v28.3.1+incompatibleCompare Source
v28.3.0+incompatibleCompare Source
go-viper/mapstructure (github.com/go-viper/mapstructure/v2)
v2.4.0Compare Source
What's Changed
New Contributors
Full Changelog: go-viper/mapstructure@v2.3.0...v2.4.0
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.