http.client in Python 3.x before 3.5.10, 3.6.x before 3.6.12, 3.7.x before 3.7.9, and 3.8.x before 3.8.5 allows CRLF injection if the attacker controls the HTTP request method, as demonstrated by inserting CR and LF control characters in the first argument of HTTPConnection.request.
CVSS Details
- CVSS 3.1 Base Score: 7.2
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade python38-sixUpgrade python38-pytzUpgrade python2-docs-infoUpgrade python2-coverageUpgrade python2-pluggyUpgrade python38-requestsUpgrade python2-docsUpgrade python2-idnaUpgrade python2-setuptools_scmUpgrade python2-requestsUpgrade python38-asn1cryptoUpgrade python2-setuptoolsUpgrade python2-backportsUpgrade python2-funcsigsUpgrade python2-psycopg2Upgrade python2-pyUpgrade python2-pytest-mockUpgrade python2-numpyUpgrade python38-psycopg2Upgrade python2-PyMySQLUpgrade python38-PyMySQLUpgrade python2-markupsafeUpgrade python2-CythonUpgrade python38-CythonUpgrade python2-sqlalchemyUpgrade python-sqlalchemy-docUpgrade python38-pysocksUpgrade python38-mod_wsgiUpgrade python2-docutilsUpgrade python2-pytestUpgrade python2-dnsUpgrade python2-ipaddressUpgrade python2-numpy-docUpgrade python2-attrsUpgrade python2-pysocksUpgrade python38-cffiUpgrade python2-backports-ssl_match_hostnameUpgrade python38-idnaUpgrade python2-chardetUpgrade python2-rpm-macrosUpgrade python-psycopg2-docUpgrade python2-psycopg2-debugUpgrade python38-markupsafeUpgrade python2-urllib3Upgrade python2-mockUpgrade python2-setuptools-wheelUpgrade python2-pyyamlUpgrade python38-psycopg2-testsUpgrade python2-psycopg2-testsUpgrade python2-numpy-f2pyUpgrade python38-pycparserUpgrade python2-sixUpgrade python38-chardetUpgrade python38-scipyUpgrade python2-pytzUpgrade python38-cryptographyUpgrade python38-plyUpgrade python38-psycopg2-doc | May 4, 2022 | Sep 27, 2020 |
| Amazon Linux Ami 2 | — | Upgrade python3-debugUpgrade python3-libsUpgrade tkinterUpgrade python3-testUpgrade python3-debuginfoUpgrade python-testUpgrade python3-toolsUpgrade python-libsUpgrade python3-develUpgrade python-debugUpgrade pythonUpgrade python3Upgrade python-debuginfoUpgrade python-toolsUpgrade python-develUpgrade python3-tkinter | Jun 24, 2021 | Sep 27, 2020 |
| Amazon_linux | — | Upgrade python34Upgrade python35Upgrade python27 | May 13, 2025 | Sep 27, 2020 |
| Arch Linux | — | Upgrade to the latest version of Arch Linux | Jul 11, 2025 | Sep 27, 2020 |
| Centos_linux | — | Upgrade python-psycopg2-debuginfoUpgrade python2-jinja2Upgrade python2-libsUpgrade python38-scipy-debuginfoUpgrade python2-numpy-f2pyUpgrade python-coverage-debugsourceUpgrade python2-Cython-debuginfoUpgrade python2-setuptools-wheelUpgrade python2-babelUpgrade python38-libsUpgrade python2-idnaUpgrade python-testUpgrade python2-debugUpgrade python38Upgrade python38-setuptoolsUpgrade python38-chardetUpgrade python2-pip-wheelUpgrade python-lxml-debugsourceUpgrade python38-psycopg2-debuginfoUpgrade python38-cryptographyUpgrade python2-backports-ssl_match_hostnameUpgrade python-pymongo-debuginfoUpgrade python38-scipyUpgrade python38-setuptools-wheelUpgrade python2-wheel-wheelUpgrade python38-PyMySQLUpgrade python38-psutilUpgrade python2-ipaddressUpgrade python-debuginfoUpgrade python2-psycopg2Upgrade python2-pyyamlUpgrade python2-psycopg2-testsUpgrade python38-debuginfoUpgrade python38-idleUpgrade python38-babelUpgrade python2-CythonUpgrade python38-mod_wsgiUpgrade python38-testUpgrade python2-chardetUpgrade python38-cryptography-debuginfoUpgrade python38-lxmlUpgrade python38-pip-wheelUpgrade python2-docs-infoUpgrade tkinterUpgrade python38-cffi-debuginfoUpgrade python2-mockUpgrade python38-pyyaml-debuginfoUpgrade python3-testUpgrade python38-debugsourceUpgrade python2-noseUpgrade python2-wheelUpgrade python38-urllib3Upgrade platform-python-debugUpgrade python2-bson-debuginfoUpgrade python2-lxml-debuginfoUpgrade python2-numpy-debuginfoUpgrade python38-psycopg2-docUpgrade python-pymongo-debugsourceUpgrade python2-pipUpgrade python38-numpyUpgrade python-nose-docsUpgrade python2-coverageUpgrade python2-coverage-debuginfoUpgrade python38-markupsafeUpgrade python38-numpy-f2pyUpgrade python38-lxml-debuginfoUpgrade Cython-debugsourceUpgrade python2-sixUpgrade python38-cffiUpgrade pythonUpgrade python-psycopg2-docUpgrade python38-pysocksUpgrade PyYAML-debugsourceUpgrade python2-rpm-macrosUpgrade python-toolsUpgrade python2-urllib3Upgrade python3-tkinterUpgrade python2-pymongo-gridfsUpgrade python2-toolsUpgrade python2-psycopg2-debug-debuginfoUpgrade python2-funcsigsUpgrade python2-attrsUpgrade python-cryptography-debugsourceUpgrade python38-psutil-debuginfoUpgrade python38-debugUpgrade python38-jinja2Upgrade python2-pygmentsUpgrade python2-pyyaml-debuginfoUpgrade python-libsUpgrade python2-setuptools_scmUpgrade python38-pyyamlUpgrade python38-psycopg2Upgrade python2-docutilsUpgrade python2-virtualenvUpgrade python2-scipy-debuginfoUpgrade python2-pysocksUpgrade python-sqlalchemy-docUpgrade python-psutil-debugsourceUpgrade python-develUpgrade scipy-debugsourceUpgrade python38-wheelUpgrade python38-tkinterUpgrade python38-pipUpgrade python38-develUpgrade python3-debugsourceUpgrade python2-dnsUpgrade python38-psycopg2-testsUpgrade python38-idnaUpgrade python38-CythonUpgrade python2-pymongo-debuginfoUpgrade python2-develUpgrade platform-python-develUpgrade python38-pycparserUpgrade python2-scipyUpgrade python2-pymongoUpgrade python2-psycopg2-debuginfoUpgrade python-psycopg2-debugsourceUpgrade python38-sixUpgrade python38-pytzUpgrade python3-libsUpgrade python2-pytest-mockUpgrade python2-PyMySQLUpgrade python2-pluggyUpgrade python2-bsonUpgrade platform-pythonUpgrade python38-asn1cryptoUpgrade python2-setuptoolsUpgrade python2-pytestUpgrade python2-debuginfoUpgrade python38-plyUpgrade python38-numpy-docUpgrade python3-idleUpgrade python2-psycopg2-debugUpgrade python2-numpyUpgrade python2-lxmlUpgrade python2Upgrade python-debugUpgrade python-cffi-debugsourceUpgrade python38-rpm-macrosUpgrade python2-testUpgrade python3-debuginfoUpgrade python38-requestsUpgrade python2-sqlalchemyUpgrade python2-markupsafeUpgrade python38-numpy-debuginfoUpgrade python38-markupsafe-debuginfoUpgrade babelUpgrade python2-tkinterUpgrade python2-pytzUpgrade python2-pyUpgrade python2-docsUpgrade python2-debugsourceUpgrade python38-Cython-debuginfoUpgrade python-markupsafe-debugsourceUpgrade python2-backportsUpgrade numpy-debugsourceUpgrade python38-wheel-wheelUpgrade python2-numpy-docUpgrade python2-requests | Jun 1, 2021 | Sep 27, 2020 |
| Debian | — | Upgrade pypy3Upgrade python3.9 | Nov 20, 2020 | Sep 27, 2020 |
| F5 Big Ip | — | — | Dec 6, 2023 | Sep 27, 2020 |
| Gentoo Linux | — | Upgrade dev-lang/python. | Jan 25, 2021 | Sep 27, 2020 |
| Huawei Euleros 2_0_sp2 | — | Upgrade pythonUpgrade python-libsUpgrade python-develUpgrade tkinter | Nov 3, 2020 | Sep 27, 2020 |
| Huawei Euleros 2_0_sp3 | — | Upgrade pythonUpgrade tkinterUpgrade python-develUpgrade python-libs | Jan 20, 2021 | Sep 27, 2020 |
| Huawei Euleros 2_0_sp5 | — | Upgrade python-develUpgrade python-libsUpgrade pythonUpgrade tkinter | Feb 3, 2021 | Sep 27, 2020 |
| Huawei Euleros 2_0_sp8 | — | Upgrade python3-testUpgrade python3Upgrade python3-develUpgrade python3-unversioned-commandUpgrade python3-libs | Nov 3, 2020 | Sep 27, 2020 |
| Huawei Euleros 2_0_sp9 | — | Upgrade python3-unversioned-commandUpgrade python3 | Nov 3, 2020 | Sep 27, 2020 |
| Nutanix Ahv | — | Upgrade Nutanix AHV to the latest version | Jun 5, 2026 | Sep 4, 2023 |
| Oracle Solaris | — | Upgrade legacy/library/python/tkinter-35 to version 3.5.9-11.4.28.0.1.82.1 on Solaris 11.4Upgrade legacy/runtime/python-35 to version 3.5.9-11.4.28.0.1.82.1 on Solaris 11.4Upgrade library/python/urllib3-39 to version 1.25.1-11.4.36.0.1.101.0 on Solaris 11.4Upgrade runtime/python-35 to version 3.5.9-11.4.30.0.0.88.0 on Solaris 11.4Upgrade library/python/urllib3-37 to version 1.25.1-11.4.36.0.1.101.0 on Solaris 11.4Upgrade library/python/urllib3 to version 1.25.1-11.4.36.0.1.101.0 on Solaris 11.4Upgrade library/python/urllib3-27 to version 1.25.1-11.4.36.0.1.101.0 on Solaris 11.4Upgrade library/python/tkinter-35 to version 3.5.9-11.4.30.0.0.88.0 on Solaris 11.4 | Jan 19, 2021 | Sep 27, 2020 |
| Oracle_linux | — | Upgrade python2-pytest-mockUpgrade python38-wheel-wheelUpgrade python2-jinja2Upgrade python2-ipaddressUpgrade python2-coverageUpgrade python38-psutilUpgrade python2-pymongoUpgrade python2-pluggyUpgrade python2-lxmlUpgrade platform-python-debugUpgrade python38-cryptographyUpgrade python2-wheel-wheelUpgrade python2-tkinterUpgrade python38-cffiUpgrade python38-asn1cryptoUpgrade python2-scipyUpgrade python2-noseUpgrade python2-chardetUpgrade python38-urllib3Upgrade python38-rpm-macrosUpgrade python38-psycopg2Upgrade python38-mod_wsgiUpgrade python2-numpy-docUpgrade python2-babelUpgrade python-nose-docsUpgrade platform-pythonUpgrade python38-numpyUpgrade python38-libsUpgrade python2-psycopg2-testsUpgrade tkinterUpgrade python2-docsUpgrade python38-develUpgrade platform-python-develUpgrade python38-setuptoolsUpgrade python38-requestsUpgrade python2-toolsUpgrade python-sqlalchemy-docUpgrade python3-libsUpgrade python38-plyUpgrade python2-setuptoolsUpgrade python2-pyyamlUpgrade python2-psycopg2Upgrade python2-idnaUpgrade python2-setuptools-wheelUpgrade python38-testUpgrade python-develUpgrade python38-wheelUpgrade python38-tkinterUpgrade python38-numpy-f2pyUpgrade python38-jinja2Upgrade python2-develUpgrade python2-debugUpgrade python38-pysocksUpgrade python38-psycopg2-docUpgrade python38-lxmlUpgrade python38-idleUpgrade python3-idleUpgrade python2-numpy-f2pyUpgrade python38-pip-wheelUpgrade python-toolsUpgrade python38-idnaUpgrade python-testUpgrade python2-bsonUpgrade python2-dnsUpgrade python2-rpm-macrosUpgrade python2-pytzUpgrade python-debugUpgrade python-psycopg2-docUpgrade python2-virtualenvUpgrade python2-docs-infoUpgrade python2-libsUpgrade python3-tkinterUpgrade python38-babelUpgrade python2-urllib3Upgrade python3-testUpgrade python38-chardetUpgrade python38Upgrade python38-pyyamlUpgrade python38-CythonUpgrade python38-pycparserUpgrade python2-CythonUpgrade pythonUpgrade python2-backportsUpgrade python2-pytestUpgrade python2-PyMySQLUpgrade python38-PyMySQLUpgrade babelUpgrade python2-wheelUpgrade python38-scipyUpgrade python2-backports-ssl_match_hostnameUpgrade python2-docutilsUpgrade python-libsUpgrade python2-funcsigsUpgrade python2-setuptools_scmUpgrade python38-markupsafeUpgrade python38-sixUpgrade python2-mockUpgrade python2Upgrade python2-markupsafeUpgrade python2-psycopg2-debugUpgrade python2-pymongo-gridfsUpgrade python2-pysocksUpgrade python2-requestsUpgrade python2-pygmentsUpgrade python2-attrsUpgrade python2-numpyUpgrade python38-pipUpgrade python38-psycopg2-testsUpgrade python38-numpy-docUpgrade python2-pipUpgrade python2-testUpgrade python38-debugUpgrade python2-pyUpgrade python2-sqlalchemyUpgrade python2-pip-wheelUpgrade python2-sixUpgrade python38-setuptools-wheelUpgrade python38-pytz | May 26, 2021 | Feb 10, 2020 |
| Redhat_linux | — | Upgrade numpy-debugsourceUpgrade python2-markupsafeUpgrade python2-numpy-docUpgrade python38-debuginfoUpgrade python38-psutil-debuginfoUpgrade python38-jinja2Upgrade python38-lxmlUpgrade python38-mod_wsgiUpgrade python2-tkinterUpgrade python38-pycparserUpgrade python38-wheelUpgrade python3-debuginfoUpgrade python2-lxmlUpgrade platform-pythonUpgrade python38-requestsUpgrade python3-idleUpgrade babelUpgrade python2-numpyNo solution existsUpgrade python2-idnaUpgrade python2-scipyUpgrade python2-pymongoUpgrade python38-cffi-debuginfoUpgrade python-markupsafe-debugsourceUpgrade python2-docs-infoUpgrade python38-rpm-macrosUpgrade python38-pyyamlUpgrade python38-plyUpgrade python2-sqlalchemyUpgrade python38-wheel-wheelUpgrade python2-PyMySQLUpgrade python2-debugsourceUpgrade python2-develUpgrade python2-pluggyUpgrade python3-libsUpgrade python38-setuptoolsUpgrade python2-requestsUpgrade python2-pysocksUpgrade python2-docutilsUpgrade python2-pymongo-debuginfoUpgrade python2-attrsUpgrade python2-funcsigsUpgrade python3-debugsourceUpgrade python38-debugUpgrade python38-markupsafe-debuginfoUpgrade python2-scipy-debuginfoUpgrade python-psycopg2-debugsourceUpgrade python2-pytzUpgrade python2-pytest-mockUpgrade python2-setuptools_scmUpgrade python-debugUpgrade python-sqlalchemy-docUpgrade python2-virtualenvUpgrade python2-psycopg2-debug-debuginfoUpgrade python38-asn1cryptoUpgrade python38-numpy-f2pyUpgrade platform-python-develUpgrade python3-tkinterUpgrade python-cryptography-debugsourceUpgrade python-develUpgrade python2-toolsUpgrade python2-pygmentsUpgrade python38-pytzUpgrade python38-cryptography-debuginfoUpgrade python2-pyUpgrade python-libsUpgrade python38-develUpgrade python2-psycopg2-debuginfoUpgrade platform-python-debugUpgrade python38-psycopg2Upgrade python38-Cython-debuginfoUpgrade python-pymongo-debuginfoUpgrade python2-setuptoolsUpgrade python38-tkinterUpgrade tkinterUpgrade python2-pip-wheelUpgrade python2-psycopg2Upgrade python2-pyyaml-debuginfoUpgrade python38Upgrade python38-psutilUpgrade python2-numpy-debuginfoUpgrade python-coverage-debugsourceUpgrade python2-pytestUpgrade python38-babelUpgrade python2-pyyamlUpgrade python2-CythonUpgrade python38-psycopg2-docUpgrade python38-psycopg2-testsUpgrade python-debuginfoUpgrade python-psycopg2-docUpgrade python38-libsUpgrade python-testUpgrade python38-numpyUpgrade python2-urllib3Upgrade python38-markupsafeUpgrade python2-coverage-debuginfoUpgrade python2-wheel-wheelUpgrade python38-PyMySQLUpgrade python38-scipyUpgrade python2-chardetUpgrade python38-idleUpgrade python2Upgrade python38-debugsourceUpgrade python38-numpy-docUpgrade python-toolsUpgrade python38-pysocksUpgrade python38-testUpgrade python2-backports-ssl_match_hostnameUpgrade python2-Cython-debuginfoUpgrade python-psycopg2-debuginfoUpgrade pythonUpgrade python38-cryptographyUpgrade python-nose-docsUpgrade python2-rpm-macrosUpgrade python38-numpy-debuginfoUpgrade python2-lxml-debuginfoUpgrade python2-jinja2Upgrade python38-lxml-debuginfoUpgrade python38-idnaUpgrade python-pymongo-debugsourceUpgrade python38-scipy-debuginfoUpgrade python2-wheelUpgrade python-cffi-debugsourceUpgrade python2-bsonUpgrade python2-sixUpgrade python38-sixUpgrade python2-backportsUpgrade python2-psycopg2-debugUpgrade python38-CythonUpgrade python2-bson-debuginfoUpgrade python38-pipUpgrade python2-libsUpgrade python2-coverageUpgrade python-lxml-debugsourceUpgrade python2-pymongo-gridfsUpgrade python2-debugUpgrade python38-setuptools-wheelUpgrade python2-testUpgrade python2-pipUpgrade python38-pip-wheelUpgrade python38-psycopg2-debuginfoUpgrade python2-psycopg2-testsUpgrade python2-noseUpgrade Cython-debugsourceUpgrade python2-docsUpgrade python-psutil-debugsourceUpgrade python38-chardetUpgrade python2-mockUpgrade python2-setuptools-wheelUpgrade python3-testUpgrade python2-dnsUpgrade python2-numpy-f2pyUpgrade PyYAML-debugsourceUpgrade python38-urllib3Upgrade python2-babelUpgrade python2-ipaddressUpgrade python38-pyyaml-debuginfoUpgrade python2-debuginfoUpgrade scipy-debugsourceUpgrade python38-cffi | May 21, 2021 | Sep 27, 2020 |
| Rocky_linux | — | Upgrade python2-debugsourceUpgrade python38Upgrade PyYAML-debugsourceUpgrade python-cffi-debugsourceUpgrade python38-Cython-debuginfoUpgrade python38-numpy-debuginfoUpgrade python2-Cython-debuginfoUpgrade python-psutil-debugsourceUpgrade python2-psycopg2-testsUpgrade python2-pymongo-gridfsUpgrade python2-markupsafeUpgrade python38-CythonUpgrade python2-sqlalchemyUpgrade python2-testUpgrade python38-scipyUpgrade python38-debugUpgrade python2Upgrade python-cryptography-debugsourceUpgrade numpy-debugsourceUpgrade python2-bsonUpgrade python38-psycopg2-testsUpgrade python2-libsUpgrade python38-psycopg2-debuginfoUpgrade python38-debugsourceUpgrade python2-psycopg2-debugUpgrade python38-lxml-debuginfoUpgrade python38-pyyaml-debuginfoUpgrade python2-toolsUpgrade python38-markupsafeUpgrade python-coverage-debugsourceUpgrade python38-pyyamlUpgrade python2-debuginfoUpgrade python2-CythonUpgrade python38-scipy-debuginfoUpgrade python2-psycopg2-debuginfoUpgrade python-pymongo-debugsourceUpgrade python2-backportsUpgrade python2-numpy-f2pyUpgrade python2-pymongo-debuginfoUpgrade python38-numpyUpgrade python2-scipyUpgrade python38-psycopg2-docUpgrade python2-lxmlUpgrade python2-coverageUpgrade python38-libsUpgrade python38-lxmlUpgrade python2-pyyamlUpgrade python-lxml-debugsourceUpgrade python38-cryptographyUpgrade python2-debugUpgrade python2-psycopg2Upgrade python2-pyyaml-debuginfoUpgrade python2-coverage-debuginfoUpgrade python38-cryptography-debuginfoUpgrade python2-lxml-debuginfoUpgrade python-psycopg2-debugsourceUpgrade python38-mod_wsgiUpgrade python2-psycopg2-debug-debuginfoUpgrade python-psycopg2-docUpgrade python38-numpy-f2pyUpgrade python38-markupsafe-debuginfoUpgrade python38-develUpgrade python38-psutilUpgrade python38-debuginfoUpgrade python2-numpy-debuginfoUpgrade python38-cffiUpgrade python-psycopg2-debuginfoUpgrade python38-cffi-debuginfoUpgrade python38-idleUpgrade python38-psutil-debuginfoUpgrade python-markupsafe-debugsourceUpgrade python2-pymongoUpgrade python2-develUpgrade python38-psycopg2Upgrade python2-tkinterUpgrade python2-scipy-debuginfoUpgrade Cython-debugsourceUpgrade scipy-debugsourceUpgrade python38-tkinterUpgrade python38-testUpgrade python2-bson-debuginfoUpgrade python2-numpyUpgrade python-pymongo-debuginfo | Mar 12, 2024 | Sep 27, 2020 |
| Suse | — | Upgrade python3-idleUpgrade python-gdbmUpgrade libpython3_4m1_0Upgrade libpython3_4m1_0-32bitUpgrade libpython2_6-1_0Upgrade python3-dbmUpgrade python-docUpgrade python-baseUpgrade python3-doc-devhelpUpgrade python-32bitUpgrade python-urllib3Upgrade python3-baseUpgrade libpython2_7-1_0-32bitUpgrade libpython3_6m1_0Upgrade python3-develUpgrade libpython2_7-1_0Upgrade python36Upgrade pythonUpgrade python3-urllib3Upgrade python-idleUpgrade python3-32bitUpgrade python-cursesUpgrade python3-testsuiteUpgrade python-tkUpgrade libpython3_6m1_0-32bitUpgrade python-doc-pdfUpgrade python3-tkUpgrade python2-urllib3Upgrade python3-cursesUpgrade python3-toolsUpgrade python-base-32bitUpgrade python3-docUpgrade python3Upgrade python-develUpgrade python36-baseUpgrade python-demoUpgrade python3-base-32bitUpgrade python-xmlUpgrade libpython2_6-1_0-32bit | Nov 28, 2020 | Sep 27, 2020 |
| Ubuntu | — | Upgrade python3.4-minimal (Ubuntu Pro)Upgrade python3.7-minimal (Ubuntu Pro)Upgrade python3.5-minimal (Ubuntu Pro)Upgrade python3.8-minimalUpgrade python3.6 (Ubuntu Pro)Upgrade python3.8Upgrade python3.5Upgrade python3.5-minimalUpgrade python3.8 (Ubuntu Pro)Upgrade python3.8-minimal (Ubuntu Pro)Upgrade python3.4 (Ubuntu Pro)Upgrade python3.5 (Ubuntu Pro)Upgrade python3.7 (Ubuntu Pro)Upgrade python2.7 (Ubuntu Pro)Upgrade python2.7Upgrade python3.7-minimalUpgrade python3.6Upgrade python2.7-minimal (Ubuntu Pro)Upgrade python3.6-minimalUpgrade python2.7-minimalUpgrade python3.7Upgrade python3.6-minimal (Ubuntu Pro) | Mar 9, 2021 | Sep 27, 2020 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | Sep 27, 2020 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub