llmware 0.4.6 содержит уязвимость SQL-инъекции на уровне базы данных коллекции (llmware/resources.py), где значения фильтра и поиска напрямую интерполируются по строкам в предложения SQL WHERE без параметризации или экранирования как в SQLite, так и в PostgreSQL. Валидатор фильтра только проверяет ключи на соответствие списку разрешений и никогда не очищает значения. Значения фильтра, контролируемые злоумышленником, достигающие общедоступного API через Library.block_lookup и Query.text_query_with_custom_filter/text_query_by_author_or_speaker, могут нейтрализовать предполагаемый фильтр и раскрыть строки, из которых был исключен вызывающий объект (раскрытие данных между документами/коллекциями); в PostgreSQL эта уязвимость допускает внедрение SQL-кода на основе логических значений и UNION.
Показать оригинальное описание (EN)
llmware 0.4.6 contains an SQL injection vulnerability in the collection-database layer (llmware/resources.py) where filter and lookup values are directly string-interpolated into SQL WHERE clauses without parameterization or escaping, in both the SQLite and PostgreSQL backends. The filter validator only checks keys against an allow-list and never sanitizes values. Attacker-controlled filter values reaching the public API via Library.block_lookup and Query.text_query_with_custom_filter / text_query_by_author_or_speaker can neutralize the intended filter to disclose rows the caller was scoped out of (cross-document/cross-collection disclosure); on PostgreSQL the flaw permits boolean- and UNION-based SQL injection.
Характеристики атаки
Последствия
Строка CVSS v4.0