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

exploitDog

github логотип

GHSA-gg84-qgv9-w4pq

Опубликовано: 20 мая 2020
Источник: github
Github: Прошло ревью
CVSS4: 6.3
CVSS3: 6.8

Описание

CRLF injection in httplib2

Impact

Attacker controlling unescaped part of uri for httplib2.Http.request() could change request headers and body, send additional hidden requests to same server.

Impacts software that uses httplib2 with uri constructed by string concatenation, as opposed to proper urllib building with escaping.

Patches

Problem has been fixed in 0.18.0 Space, CR, LF characters are now quoted before any use. This solution should not impact any valid usage of httplib2 library, that is uri constructed by urllib.

Workarounds

Create URI with urllib.parse family functions: urlencode, urlunsplit.

user_input = " HTTP/1.1\r\ninjected: attack\r\nignore-http:" -uri = "https://api.server/?q={}".format(user_input) +uri = urllib.parse.urlunsplit(("https", "api.server", "/v1", urllib.parse.urlencode({"q": user_input}), "")) http.request(uri)

References

https://cwe.mitre.org/data/definitions/93.html https://docs.python.org/3/library/urllib.parse.html

Thanks to Recar https://github.com/Ciyfly for finding vulnerability and discrete notification.

For more information

If you have any questions or comments about this advisory:

Пакеты

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

httplib2

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

< 0.18.0

0.18.0

EPSS

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

6.3 Medium

CVSS4

6.8 Medium

CVSS3

Дефекты

CWE-93

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

CVSS3: 6.8
ubuntu
больше 5 лет назад

In httplib2 before version 0.18.0, an attacker controlling unescaped part of uri for `httplib2.Http.request()` could change request headers and body, send additional hidden requests to same server. This vulnerability impacts software that uses httplib2 with uri constructed by string concatenation, as opposed to proper urllib building with escaping. This has been fixed in 0.18.0.

CVSS3: 6.8
redhat
больше 5 лет назад

In httplib2 before version 0.18.0, an attacker controlling unescaped part of uri for `httplib2.Http.request()` could change request headers and body, send additional hidden requests to same server. This vulnerability impacts software that uses httplib2 with uri constructed by string concatenation, as opposed to proper urllib building with escaping. This has been fixed in 0.18.0.

CVSS3: 6.8
nvd
больше 5 лет назад

In httplib2 before version 0.18.0, an attacker controlling unescaped part of uri for `httplib2.Http.request()` could change request headers and body, send additional hidden requests to same server. This vulnerability impacts software that uses httplib2 with uri constructed by string concatenation, as opposed to proper urllib building with escaping. This has been fixed in 0.18.0.

CVSS3: 6.8
debian
больше 5 лет назад

In httplib2 before version 0.18.0, an attacker controlling unescaped p ...

oracle-oval
около 5 лет назад

ELSA-2020-5947: resource-agents security update (IMPORTANT)

EPSS

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

6.3 Medium

CVSS4

6.8 Medium

CVSS3

Дефекты

CWE-93