Skip to content

Commit 2be805d

Browse files
committed
fix(lexers): prevent ReDoS in archetype lexer GUID and ID patterns
1 parent 75cbbe6 commit 2be805d

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

pygments/lexers/archetype.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ class AtomsLexer(RegexLexer):
3535
(r'([ \t]*)(--.*)$', bygroups(Whitespace, Comment)),
3636
],
3737
'archetype_id': [
38-
(r'([ \t]*)(([a-zA-Z]\w+(\.[a-zA-Z]\w+)*::)?[a-zA-Z]\w+(-[a-zA-Z]\w+){2}'
39-
r'\.\w+[\w-]*\.v\d+(\.\d+){,2}((-[a-z]+)(\.\d+)?)?)',
38+
(r'([ \t]*)(([a-zA-Z]\w{1,100}(\.[a-zA-Z]\w{1,100})*::)?[a-zA-Z]\w{1,100}(-[a-zA-Z]\w{1,100}){2}'
39+
r'\.\w{1,100}[\w-]*\.v\d+(\.\d+){,2}((-[a-z]+)(\.\d+)?)?)',
4040
bygroups(Whitespace, Name.Decorator)),
4141
],
4242
'date_constraints': [
@@ -293,7 +293,7 @@ class AdlLexer(AtomsLexer):
293293
# numbers and version ids
294294
(r'\d+(\.\d+)*', Literal),
295295
# Guids
296-
(r'(\d|[a-fA-F])+(-(\d|[a-fA-F])+){3,}', Literal),
296+
(r'[0-9a-fA-F]{1,36}(-[0-9a-fA-F]{1,36}){3,}', Literal),
297297
(r'\w+', Name.Class),
298298
(r'"', String, 'string'),
299299
(r'=', Operator),

0 commit comments

Comments
 (0)