Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-6fwg-jrfw-ff7p

Опубликовано: 05 дек. 2023
Источник: github
Github: Прошло ревью
CVSS3: 7.5

Описание

Traefik docker container using 100% CPU

Summary

The traefik docker container uses 100% CPU when it serves as its own backend, which is an automatically generated route resulting from the Docker integration in the default configuration.

Details

While attempting to set up Traefik to handle traffic for Docker containers, I observed in the webUI a rule with the following information:

Host(traefik-service) | webwebsecure | traefik-service@docker | traefik-service

I assumed that this is something internal; however, I wondered why it would have a host rule on the web entrypoint configured.

So I have send a request with that hostname with curl -v --resolve "traefik-service:80:xxx.xxx.xxx.xxx" http://traefik-service. That made my whole server unresponsive.

I assume the name comes from a docker container with that name, traefik itself:

localhost ~ # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d1414e74aec7 traefik:v2.10 "/entrypoint.sh trae…" 4 minutes ago Up 4 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 127.0.0.1:8080->8080/tcp traefik.service

PoC

  1. Start traefik with docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -p 80:80 --name foo -p 8080:8080 traefik:v2.10 --api.insecure=true --providers.docker

  2. curl -v --resolve "foo:80:127.0.0.1" http://foo

looks like this creates an endless loop of request.

Knowing the name of the docker container seems to be enough to trigger this, if the docker backend is used.

Impact

Server is unreachable and uses 100% CPU

Пакеты

Наименование

github.com/traefik/traefik/v2

go
Затронутые версииВерсия исправления

< 2.10.6

2.10.6

Наименование

github.com/traefik/traefik/v3

go
Затронутые версииВерсия исправления

< 3.0.0-beta5

3.0.0-beta5

EPSS

Процентиль: 74%
0.00833
Низкий

7.5 High

CVSS3

Дефекты

CWE-400
CWE-770

Связанные уязвимости

CVSS3: 7.5
nvd
около 2 лет назад

Traefik is an open source HTTP reverse proxy and load balancer. The traefik docker container uses 100% CPU when it serves as its own backend, which is an automatically generated route resulting from the Docker integration in the default configuration. This issue has been addressed in versions 2.10.6 and 3.0.0-beta5. Users are advised to upgrade. There are no known workarounds for this vulnerability.

CVSS3: 7.5
debian
около 2 лет назад

Traefik is an open source HTTP reverse proxy and load balancer. The tr ...

CVSS3: 7.5
fstec
около 2 лет назад

Уязвимость обратного прокси сервера Containous Traefik, связанная с неконтролируемым расходом ресурсов, позволяющая нарушителю вызвать отказ в обслуживании

EPSS

Процентиль: 74%
0.00833
Низкий

7.5 High

CVSS3

Дефекты

CWE-400
CWE-770