The vulnerability description indicates that specially crafted SpEL expressions can cause a Denial of Service. The provided patches modify core SpEL evaluation logic to add restrictions.
Commit 26f2dad388499faecf99e75b8856788e95d8d658 introduces a mechanism (isAssignmentEnabled) to disable assignment-like operations (assignment, increment, decrement) in certain evaluation contexts. The functions Assign.getValueInternal, OpDec.getValueInternal, and OpInc.getValueInternal were modified to respect this new flag. Prior to this, they would execute these operations without this check, making them vulnerable points if an attacker could control the SpEL expression and the evaluation context didn't otherwise restrict these operations.
Commit f44d13cb7816e586b86c02421af4f5498391111c modifies ConstructorReference.createArray to prevent array construction if no constructor resolvers are present in the evaluation context. This suggests that uncontrolled array creation was another vector for the DoS, potentially leading to excessive memory allocation.
These four functions are directly responsible for processing the SpEL constructs that were exploitable. During a DoS attack leveraging this vulnerability, these functions, in their pre-patch state, would be the ones executing the harmful logic (e.g., attempting large allocations or performing unrestricted assignments/modifications). Therefore, they would appear in a runtime profile when the vulnerability is triggered.