View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 20435 | Bug reports | Security | public | 2026-02-23 18:18 | 2026-03-04 08:29 |
| Reporter | jarrod.c | Assigned To | c_schmitz | ||
| Priority | none | Severity | minor | ||
| Status | closed | Resolution | no change required | ||
| Product Version | 6.6.x | ||||
| Summary | 20435: Web Cache Deception | ||||
| Description | VulnerabilitySurvey is affected by the following vulnerability: https://www.invicti.com/web-vulnerability-scanner/vulnerabilities/web-cache-deception CauseRewrite rule on line 9: https://github.com/LimeSurvey/LimeSurvey/blob/571bab902ed2a7f0de0e2762a14c57341bc94bb3/.htaccess#L9 | ||||
| Steps To Reproduce | Steps to reproduce(Replace this text with detailed step-by-step instructions on how to reproduce the issue) Expected result(Write here what you expected to happen) Actual result(Write here what happened instead) | ||||
| Tags | No tags attached. | ||||
| Bug heat | 268 | ||||
| Complete LimeSurvey version number (& build) | 6.16.7+260205 | ||||
| I will donate to the project if issue is resolved | No | ||||
| Browser | |||||
| Database type & version | Irrelevant | ||||
| Server OS (if known) | |||||
| Webserver software & version (if known) | |||||
| PHP Version | Irrelevant | ||||
|
@jarrod.c Please provide a step by step "how to reproduce". |
|
Expected result: 404 or redirect to the root of the directory or redirect to index.php directly Actual result: responds with 200 and blindly serves index.php |
|
|
https://github.com/LimeSurvey/LimeSurvey/pull/4736 We are overriding a php ini setting. |
|
|
? is the parameter separator in the URL. No reason to go to a 404. It must be a 200. It's index.php?.css the must serves a 200 with index.php It' not related to the issue reported ! @gabrieljenik : do you have a better link? System for testing? |
|
|
The issue can be here: https://example.com/dashboard/view/test.css but server configuration here for caching this URL. Not from LimeSurvey system! |
|
|
No issue on limequery https://shnoulle.limesurvey.net/themeOptions/index/check.css didn't enter in Server cache |
|
|
Yes, it is probably a server configuration. If LimeSurvey is deployed on a server where session.cache_limiter is set to "" (empty string), public, or private_no_expire, then:
That is the issue reported.
What do you think? |
|
|
I work with the original reporter. Additional insight into our setup:
|
|
|
@thejoshhartmann Please look at the pull request. The edit is very simple. May be the issue is not much about the application but more about the server configuration in a mix in with the caching layer. |
|
|
We will apply the changes in the PR and test and get back with you. |
|
|
The original issue is the way cache is managed: it must respect the header and not the name
|
|
|
You can set this setting in your config.php file |
|
|
Some additional context: Our vulnerability scanner is checking specifically for this vulnerability. Its doing this by checking responses to the following URLs. (I've used your domain as an example) If those requests return a 200, its going to flag it as vulnerable. As an example, your domain is responding the same way and would be marked "vulnerable" |
|
No ! no ! no !!! It's an issue in your scanner: https://en.wikipedia.org/wiki/Query_string |
|
|
Its not just my scanner... I just showed you that curl returns a 200 with those erroneous URLs on your own service... Even Chrome and Firefox will load your index.php and return a 200. If the file doesn't exist, and the URL isn't a directory with an index.php, it should redirect instead of rewrite. This would solve the issue. |
|
Any website must return a 200 with /?{anything} , it's not a security issue |
|
You do not call |
|
|
@c_schmitz : my opinion here : No change required |
|
|
You are correct. Anything after ? is being passed as a parameter. For some reason, our scanner is hitting <url>/?.css to test this and not <url>/index.php/style.css like they explain in their vulnerability guide. The biggest thing it wants is that cache-control headers get applied based on content-type and not file extension. Thank you for your time and experience. I will reach out to our scanner vendor and ask why this is happening. |
|
|
@thejoshhartmann No worries. Thanks for caring! |
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-02-23 18:18 | jarrod.c | New Issue | |
| 2026-02-23 18:46 | tibor.pacalat | Note Added: 84273 | |
| 2026-02-23 18:46 | tibor.pacalat | Bug heat | 250 => 252 |
| 2026-02-23 19:12 | jarrod.c | Note Added: 84276 | |
| 2026-02-23 19:12 | jarrod.c | Bug heat | 252 => 254 |
| 2026-02-23 19:46 | guest | Bug heat | 254 => 260 |
| 2026-02-24 10:38 | tibor.pacalat | Assigned To | => gabrieljenik |
| 2026-02-24 10:38 | tibor.pacalat | Status | new => assigned |
| 2026-03-03 14:57 | gabrieljenik | Assigned To | gabrieljenik => DenisChenu |
| 2026-03-03 14:57 | gabrieljenik | Status | assigned => ready for code review |
| 2026-03-03 14:57 | gabrieljenik | Note Added: 84357 | |
| 2026-03-03 14:57 | gabrieljenik | Bug heat | 260 => 262 |
| 2026-03-03 15:19 | DenisChenu | Note Added: 84358 | |
| 2026-03-03 15:19 | DenisChenu | Bug heat | 262 => 264 |
| 2026-03-03 15:19 | DenisChenu | Note Edited: 84358 | |
| 2026-03-03 15:23 | DenisChenu | Note Added: 84360 | |
| 2026-03-03 15:27 | DenisChenu | Note Added: 84362 | |
| 2026-03-03 15:27 | DenisChenu | File Added: Capture d’écran du 2026-03-03 15-27-39.png | |
| 2026-03-03 16:02 | gabrieljenik | Note Added: 84366 | |
| 2026-03-03 16:28 | thejoshhartmann | Note Added: 84368 | |
| 2026-03-03 16:28 | thejoshhartmann | Bug heat | 264 => 266 |
| 2026-03-03 16:31 | gabrieljenik | Note Added: 84369 | |
| 2026-03-03 16:34 | thejoshhartmann | Note Added: 84370 | |
| 2026-03-03 16:53 | DenisChenu | Note Added: 84371 | |
| 2026-03-03 16:56 | DenisChenu | Note Added: 84372 | |
| 2026-03-03 17:11 | thejoshhartmann | Note Added: 84373 | |
| 2026-03-03 17:27 | DenisChenu | Note Added: 84375 | |
| 2026-03-03 17:32 | thejoshhartmann | Note Added: 84376 | |
| 2026-03-03 17:32 | DenisChenu | Note Added: 84377 | |
| 2026-03-03 17:34 | DenisChenu | Note Added: 84378 | |
| 2026-03-03 17:34 | DenisChenu | Assigned To | DenisChenu => c_schmitz |
| 2026-03-03 17:35 | DenisChenu | Note Added: 84380 | |
| 2026-03-03 17:50 | thejoshhartmann | Note Added: 84381 | |
| 2026-03-04 08:29 | c_schmitz | Note Added: 84382 | |
| 2026-03-04 08:29 | c_schmitz | Bug heat | 266 => 268 |
| 2026-03-04 08:29 | c_schmitz | Status | ready for code review => closed |
| 2026-03-04 08:29 | c_schmitz | Resolution | open => no change required |