The vulnerability stems from improper input sanitization in ajaxservice.php. The commit diff shows that before patching, user-controlled 'question' and 'answer' parameters were filtered with FILTER_UNSAFE_RAW, which leaves potentially dangerous characters intact. These parameters were later used in contexts where they could be passed to command execution functions (though not explicitly shown in the diff). The fix added strip_tags() to sanitize these inputs, indicating the original lack of proper neutralization for command injection vectors. The CWE-77 classification confirms this is a command injection issue caused by insufficient input sanitization before command execution.