Restrict protocols allowed for weasyprint to http(s)

Closes #14947
(grafted from 7c72806c98c07bb4ccb1f5f1b84954350541ec3a)

--HG--
branch : 8.0
This commit is contained in:
Cédric Krier
2026-08-04 10:38:45 +02:00
parent 5db52f470f
commit c3af1a9ad6
3 changed files with 8 additions and 2 deletions
+1
View File
@@ -1,3 +1,4 @@
* Restrict protocols allowed for weasyprint to http(s) (issue14947)
Version 8.0.7 - 2026-07-15
--------------------------
+1 -1
View File
@@ -60,7 +60,7 @@ test = [
'pillow',
'pydot',
]
weasyprint = ['weasyprint']
weasyprint = ['weasyprint >= 68.0']
[project.scripts]
trytond = 'trytond.cli:main'
+6 -1
View File
@@ -414,7 +414,12 @@ class Report(URLMixin, PoolBase):
if (input_format in {'html', 'xhtml'}
and output_format == 'pdf'):
if weasyprint := _lazy_import('weasyprint'):
return output_format, weasyprint.HTML(string=data).write_pdf()
return output_format, weasyprint.HTML(
string=data,
url_fetcher=weasyprint.URLFetcher(
allowed_protocols={'http', 'https'},
),
).write_pdf()
if (input_format == 'xml'
and output_format == 'html'