spiegel_podman/pkg
Paul Holzinger e88d8dbeae
fix rootless port forwarding with network dis-/connect
The rootlessport forwarder requires a child IP to be set. This must be a
valid ip in the container network namespace. The problem is that after a
network disconnect and connect the eth0 ip changed. Therefore the
packages are dropped since the source ip does no longer exists in the
netns.
One solution is to set the child IP to 127.0.0.1, however this is a
security problem. [1]

To fix this we have to recreate the ports after network connect and
disconnect. To make this work the rootlessport process exposes a socket
where podman network connect/disconnect connect to and send to new child
IP to rootlessport. The rootlessport process will remove all ports and
recreate them with the new correct child IP.

Also bump rootlesskit to v0.14.3 to fix a race with RemovePort().

Fixes #10052

[1] https://nvd.nist.gov/vuln/detail/CVE-2021-20199

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-08-03 16:29:09 +02:00
..
annotations Spelling 2020-12-22 13:34:31 -05:00
api Merge pull request #11072 from matejvasek/header-timeout 2021-08-02 12:25:19 +00:00
auth Enable whitespace linter 2021-02-11 23:01:56 +01:00
autoupdate auto-update: add --dry-run 2021-07-15 11:39:50 +02:00
bindings Merge pull request #11067 from vrothberg/fix-10154-2 2021-07-28 16:17:45 +02:00
cgroups Fix panic condition in cgroups.getAvailableControllers 2021-06-15 09:22:37 +08:00
channel channel: simplify implementation 2021-05-06 11:51:15 +02:00
checkpoint Support checkpoint/restore with pods 2021-07-27 16:10:44 +02:00
copy support container to container copy 2021-07-27 15:32:23 +02:00
criu Support checkpoint/restore with pods 2021-07-27 16:10:44 +02:00
ctime Re-add int64 casts for ctime 2019-07-23 15:43:40 -04:00
domain Merge pull request #10828 from cdoern/scp 2021-08-02 17:15:54 +00:00
env Ensure DefaultEnvVariables is used in Specgen 2020-08-18 15:17:46 -04:00
errorhandling create: support images with invalid platform 2021-06-23 15:42:13 +02:00
hooks bump go module to v3 2021-02-22 09:03:51 +01:00
inspect bump go module to v3 2021-02-22 09:03:51 +01:00
kubeutils prune remotecommand dependency 2021-02-25 10:02:41 -06:00
lookup Enable whitespace linter 2021-02-11 23:01:56 +01:00
machine Create podman temp dir on machine start 2021-07-02 12:41:51 -05:00
namespaces [NO TESTS NEEDED] Shrink the size of podman-remote 2021-03-29 09:49:45 -04:00
netns rootless cni without infra container 2021-04-01 17:27:03 +02:00
network Split libpod/network package 2021-03-15 14:01:52 +01:00
parallel bump go module to v3 2021-02-22 09:03:51 +01:00
ps vendor containers/common@main 2021-07-16 14:19:56 +02:00
resolvconf bump go module to v3 2021-02-22 09:03:51 +01:00
rootless rootless: avoid zombie process on first launch 2021-07-29 11:07:17 +02:00
rootlessport fix rootless port forwarding with network dis-/connect 2021-08-03 16:29:09 +02:00
seccomp Spelling 2020-12-22 13:34:31 -05:00
selinux Fix SELinux functions names to not be repetitive 2020-04-23 15:57:34 -04:00
servicereaper podman service reaper 2021-07-02 19:00:36 +02:00
signal Fix build for mips architecture follow-up 2021-01-07 15:04:22 +01:00
specgen Support DeviceCgroupRules to actually get added. 2021-07-21 16:10:09 -04:00
systemd systemd: require network*-online*.target 2021-07-16 14:58:08 +02:00
terminal pkg/terminal: use c/storage/pkg/homedir 2021-03-08 09:21:13 +01:00
timetype make lint: enable gocritic 2020-01-13 14:27:02 +01:00
trust Enable whitespace linter 2021-02-11 23:01:56 +01:00
util migrate Podman to containers/common/libimage 2021-05-05 11:30:12 +02:00