diff --git a/test/data/issue_ghsa_hrw9_ggg3_3r4r_poc.jpg b/test/data/issue_ghsa_hrw9_ggg3_3r4r_poc.jpg new file mode 100644 index 00000000..2fd8e675 Binary files /dev/null and b/test/data/issue_ghsa_hrw9_ggg3_3r4r_poc.jpg differ diff --git a/tests/bugfixes/github/test_issue_ghsa_hrw9_ggg3_3r4r.py b/tests/bugfixes/github/test_issue_ghsa_hrw9_ggg3_3r4r.py new file mode 100644 index 00000000..a054ba28 --- /dev/null +++ b/tests/bugfixes/github/test_issue_ghsa_hrw9_ggg3_3r4r.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- + +from system_tests import CaseMeta, path + +class BrotliUncompressOutOfBoundsWrite(metaclass=CaseMeta): + """ + Regression test for the bug described in: + https://github.com/Exiv2/exiv2/security/advisories/GHSA-hrw9-ggg3-3r4r + """ + url = "https://github.com/Exiv2/exiv2/security/advisories/GHSA-hrw9-ggg3-3r4r" + + filename = path("$data_path/issue_ghsa_hrw9_ggg3_3r4r_poc.jpg") + commands = ["$exiv2 $filename"] + stdout = [""] + stderr = [ +"""Exiv2 exception in print action for file $filename: +$kerFailedToReadImageData +"""] + retval = [1] diff --git a/tests/regression_tests/test_regression_allfiles.py b/tests/regression_tests/test_regression_allfiles.py index 8ffce39c..426a0c36 100644 --- a/tests/regression_tests/test_regression_allfiles.py +++ b/tests/regression_tests/test_regression_allfiles.py @@ -116,6 +116,7 @@ def get_valid_files(data_dir): "issue_ghsa_583f_w9pm_99r2_poc.jp2", "issue_ghsa_7569_phvm_vwc2_poc.jp2", "issue_ghsa_mxw9_qx4c_6m8v_poc.jp2", + "issue_ghsa_hrw9_ggg3_3r4r_poc.jpg", "pocIssue283.jpg", "poc_1522.jp2", "xmpsdk.xmp",