| Title | olivier-ls PHP-FTS 0.1 Incorrect Comparison |
|---|
| Description | PHP-FTS (ols/php-fts) before an unreleased fix uses loose comparison in `SearchEngine::matchesSingleFilter()` for the `=`, `!=`, `in`, `not in`, `contains`, and `not contains` filter operators (PHP `==`/`!=` and `in_array(..., strict: false)`). This allows PHP type juggling: a non-empty string field value compares equal to boolean `true`, so an attacker-supplied filter value such as `[true]` matches every document with a non-empty string field, bypassing filters that applications use for tenant or ownership isolation and disclosing other tenants'/users' indexed documents.
Reproduction: https://github.com/sumo166/CVE-apply/blob/main/olivier-ls/php-fts/SearchEngine%20matchesSingleFilter%20Loose%20Comparison%20Filter%20Bypass%20(CWE-697)_cve.md |
|---|
| Source | ⚠️ https://github.com/olivier-ls/php-fts/issues/2 |
|---|
| User | summmm (UID 69690) |
|---|
| Submission | 08/23/2026 07:53 (27 days ago) |
|---|
| Moderation | 09/19/2026 11:01 (27 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 407916 [olivier-ls PHP-FTS up to 1.1.3 Filter Matching src/SearchEngine.php matchesSingleFilter comparison] |
|---|
| Points | 20 |
|---|