Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(codegen): escape regex literals in path segments #477

Merged

Conversation

adamthom-amzn
Copy link
Contributor

Description of changes:
We use regex to extract labeled path values, and literal path segments can
contain unescaped regex literals that can both blow up deserialization and
present ReDoS risks. While it's unlikely we will see these paths in practice,
we should still escape special regex characters.

See smithy-lang/smithy#1018 for an example of a test that is fixed with this change.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

We use regex to extract labeled path values, and literal path segments can
contain unescaped regex literals that can both blow up deserialization and
present ReDoS risks. While it's unlikely we will see these paths in practice,
we should still escape special regex characters.
@adamthom-amzn adamthom-amzn requested review from JordonPhillips, gosar and a team December 16, 2021 00:51
@adamthom-amzn adamthom-amzn merged commit 000909d into smithy-lang:main Jan 11, 2022
@adamthom-amzn adamthom-amzn deleted the fix-regex-literals-in-paths branch January 11, 2022 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants