找到第二個 Drupal 安全漏洞

想不到繼上一個安全漏洞後,半年內再發現第二個與 JavaScript 相關的漏洞。這是一個很輕微的安全漏洞,在 Drupal Security Issues 待了數月後,安全團隊決定可以公開討論。

漏洞:
@see https://www.drupal.org/node/2725255

這漏洞出現在 “Allowed HTML tags” 中,在 JS 中蠻普遍的 XSS 攻擊。當我們允許 HTML TAG 時,後台會執行驗證及與 CKEDITOR 設定。

document.createElement(‘div’)

Drupal 使用了以上 FUNCTION 處理 TAGS,不小心往裏面狂塞進食物,就會即時嘔吐的。這問題在早期的 jQuery 版本經常出現 (現在還是有點,只是難度較高):

jQuery(“<bad-js-code>”)

 

影響:
預設情況下,只有管理員能修改 “Allowed HTML tags” 設定。(但不排除任何模組在 FRONTEND 調用了關於此漏洞的 FUNCTION)

預防修正:
– 任何時候都不要給不信任的人大量管理權限
– 直接快速打上 https://www.drupal.org/node/2725255 內的 Patch A. (雖然… D8 硬硬地不要面地說半支援 IE 8….我相信不會有人使用 Drupal 8 還在用 IE8 吧? )
– 靜候官方安全發佈