Dynamic attribute access via getattr()
Low
- Category
- Dangerous Code Execution
- Content
if filters: for key, value in filters.items(): query = query.filter(getattr(self.__model__, key) == value) if offset: query = query.offset(offset)- Confidence
- 83% confidence
- Finding
- This getattr(self.__model__, key) uses filter keys supplied at runtime without validating that the attribute is an expected column. An attacker who can influence filters may trigger unexpected attribute access, exceptions, or query behavior against unintended model properties, creating a denial-of-service or authorization-bypass-adjacent risk depending on callers.
