From 9405099a3ace629f1dcbf793e0a2f70d1f0f8b80 Mon Sep 17 00:00:00 2001 From: Emily Ratliff Date: Thu, 22 Jan 2026 11:53:56 -0600 Subject: [PATCH] add constraints for minimum length for option fields fixes 619 --- stix2/v20/observables.py | 18 +++++++++--------- stix2/v21/observables.py | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/stix2/v20/observables.py b/stix2/v20/observables.py index 2b6c81ca..e079686c 100644 --- a/stix2/v20/observables.py +++ b/stix2/v20/observables.py @@ -230,9 +230,9 @@ class WindowsPEOptionalHeaderType(_STIXBase20): ('magic_hex', HexProperty()), ('major_linker_version', IntegerProperty()), ('minor_linker_version', IntegerProperty()), - ('size_of_code', IntegerProperty()), - ('size_of_initialized_data', IntegerProperty()), - ('size_of_uninitialized_data', IntegerProperty()), + ('size_of_code', IntegerProperty(min=0)), + ('size_of_initialized_data', IntegerProperty(min=0)), + ('size_of_uninitialized_data', IntegerProperty(min=0)), ('address_of_entry_point', IntegerProperty()), ('base_of_code', IntegerProperty()), ('base_of_data', IntegerProperty()), @@ -246,15 +246,15 @@ class WindowsPEOptionalHeaderType(_STIXBase20): ('major_subsystem_version', IntegerProperty()), ('minor_subsystem_version', IntegerProperty()), ('win32_version_value_hex', HexProperty()), - ('size_of_image', IntegerProperty()), - ('size_of_headers', IntegerProperty()), + ('size_of_image', IntegerProperty(min=0)), + ('size_of_headers', IntegerProperty(min=0)), ('checksum_hex', HexProperty()), ('subsystem_hex', HexProperty()), ('dll_characteristics_hex', HexProperty()), - ('size_of_stack_reserve', IntegerProperty()), - ('size_of_stack_commit', IntegerProperty()), - ('size_of_heap_reserve', IntegerProperty()), - ('size_of_heap_commit', IntegerProperty()), + ('size_of_stack_reserve', IntegerProperty(min=0)), + ('size_of_stack_commit', IntegerProperty(min=0)), + ('size_of_heap_reserve', IntegerProperty(min=0)), + ('size_of_heap_commit', IntegerProperty(min=0)), ('loader_flags_hex', HexProperty()), ('number_of_rva_and_sizes', IntegerProperty()), ('hashes', HashesProperty(HASHING_ALGORITHM, spec_version="2.0")), diff --git a/stix2/v21/observables.py b/stix2/v21/observables.py index f4a4be0f..f35dcc03 100644 --- a/stix2/v21/observables.py +++ b/stix2/v21/observables.py @@ -297,8 +297,8 @@ class WindowsPEOptionalHeaderType(_STIXBase21): ('dll_characteristics_hex', HexProperty()), ('size_of_stack_reserve', IntegerProperty(min=0)), ('size_of_stack_commit', IntegerProperty(min=0)), - ('size_of_heap_reserve', IntegerProperty()), - ('size_of_heap_commit', IntegerProperty()), + ('size_of_heap_reserve', IntegerProperty(min=0)), + ('size_of_heap_commit', IntegerProperty(min=0)), ('loader_flags_hex', HexProperty()), ('number_of_rva_and_sizes', IntegerProperty()), ('hashes', HashesProperty(HASHING_ALGORITHM, spec_version="2.1")),