OpenEMR — это бесплатное приложение для электронных медицинских записей и управления медицинской практикой с открытым исходным кодом. До версии 8.0.0 функция перевода xl() возвращала неэкранированные строки. Хотя существуют функции-обертки для экранирования в различных контекстах (xlt() для HTML, xla() для атрибутов, xlj() для JavaScript), в базе кода есть места, где вывод xl() используется напрямую без экранирования.
Если злоумышленник сможет вставить вредоносный контент в базу данных перевода, эти неэкранированные выходные данные могут привести к XSS. Версия 8.0.0 устраняет проблему.
Показать оригинальное описание (EN)
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 8.0.0, the `xl()` translation function returns unescaped strings. While wrapper functions exist for escaping in different contexts (`xlt()` for HTML, `xla()` for attributes, `xlj()` for JavaScript), there are places in the codebase where `xl()` output is used directly without escaping. If an attacker could insert malicious content into the translation database, these unescaped outputs could lead to XSS. Version 8.0.0 fixes the issue.
Характеристики атаки
Последствия
Строка CVSS v4.0