The vulnerability allows low-privileged users to create taxonomy terms without proper authorization. The root cause is a missing permission check in the createTermFromString method within the Statamic\Fieldtypes\Terms class, located in src/Fieldtypes/Terms.php. The security advisory points to patches that fix this issue, and by analyzing the associated pull request commits, the exact vulnerable code was identified.
The process method within the same class acts as the entry point for the malicious request. It takes user-supplied data from the control panel's field action endpoint and passes it to createTermFromString. Before the patch, createTermFromString would proceed to create a new term without verifying the user's permissions.
The patch introduces an authorization check using User::current()->cant('create', ...) inside createTermFromString. If the user lacks permission, the function now returns null instead of creating the term. The process method was also updated to filter out these null values, preventing unauthorized term creation. Both process and createTermFromString are therefore key functions that would appear in a runtime profile during exploitation.