python3Packages.pygments: 2.19.2 -> 2.20.0 (#504914)

This commit is contained in:
dotlambda
2026-04-01 00:22:15 +00:00
committed by GitHub
2 changed files with 3 additions and 43 deletions
@@ -1,34 +0,0 @@
From 2be805d86471efb8efd51886d4d11a33fa22a928 Mon Sep 17 00:00:00 2001
From: "zam." <zamkorong12@gmail.com>
Date: Wed, 25 Mar 2026 11:47:14 +0700
Subject: [PATCH] fix(lexers): prevent ReDoS in archetype lexer GUID and ID
patterns
---
pygments/lexers/archetype.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pygments/lexers/archetype.py b/pygments/lexers/archetype.py
index 5b3eb21ae7..977b02f751 100644
--- a/pygments/lexers/archetype.py
+++ b/pygments/lexers/archetype.py
@@ -35,8 +35,8 @@ class AtomsLexer(RegexLexer):
(r'([ \t]*)(--.*)$', bygroups(Whitespace, Comment)),
],
'archetype_id': [
- (r'([ \t]*)(([a-zA-Z]\w+(\.[a-zA-Z]\w+)*::)?[a-zA-Z]\w+(-[a-zA-Z]\w+){2}'
- r'\.\w+[\w-]*\.v\d+(\.\d+){,2}((-[a-z]+)(\.\d+)?)?)',
+ (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}'
+ r'\.\w{1,100}[\w-]*\.v\d+(\.\d+){,2}((-[a-z]+)(\.\d+)?)?)',
bygroups(Whitespace, Name.Decorator)),
],
'date_constraints': [
@@ -293,7 +293,7 @@ class AdlLexer(AtomsLexer):
# numbers and version ids
(r'\d+(\.\d+)*', Literal),
# Guids
- (r'(\d|[a-fA-F])+(-(\d|[a-fA-F])+){3,}', Literal),
+ (r'[0-9a-fA-F]{1,36}(-[0-9a-fA-F]{1,36}){3,}', Literal),
(r'\w+', Name.Class),
(r'"', String, 'string'),
(r'=', Operator),
@@ -14,21 +14,15 @@
let
pygments = buildPythonPackage (finalAttrs: {
pname = "pygments";
version = "2.19.2";
version = "2.20.0";
pyproject = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-Y2yyR3zsf4lSU2lwvFM7xDdDVC9wOSrgJjdGAK3VuIc=";
hash = "sha256-Z1fNA3aAU/+Z8wOcGjbWwKoLJjQ4/KsXUgswowOoK18=";
};
patches = [
# https://github.com/NixOS/nixpkgs/issues/502540
# https://github.com/pygments/pygments/issues/3058
./CVE-2026-4539.patch
];
nativeBuildInputs = [ hatchling ];
build-system = [ hatchling ];
# circular dependencies if enabled by default
doCheck = false;