Fix code scanning alert no. 456: Incomplete string escaping or encoding (#193909)

Fixes
[https://github.com/elastic/kibana/security/code-scanning/456](https://github.com/elastic/kibana/security/code-scanning/456)

To fix the problem, we need to ensure that backslashes are also escaped
in the `value` string. This can be done by first replacing backslashes
with double backslashes and then replacing double quotes with escaped
double quotes. This ensures that all occurrences of backslashes and
double quotes are properly escaped.

- Modify the `value.replace` call to first escape backslashes and then
escape double quotes.
- The changes will be made in the `createFilterFromOptions` function,
specifically on line 128.


_Suggested fixes powered by Copilot Autofix. Review carefully before
merging._

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
This commit is contained in:
Nathan L Smith 2024-09-25 16:30:52 -05:00 committed by GitHub
parent 8c35839355
commit 7458ff1117
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -125,7 +125,7 @@ export const createFilterFromOptions = (
if (!value) { if (!value) {
return null; return null;
} }
return `${field}: "${value.replace(/"/g, '\\"')}"`; return `${field}: "${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
}) })
.join(' and ') .join(' and ')
: `${options.groupBy} : "${id}"`; : `${options.groupBy} : "${id}"`;