The helper picked between a restricted loader and raw pickle.loads based on a use_deserialize_safe_module flag that defaulted to false and was set nowhere in the repository. The default path was bare pickle.loads, which Python's own documentation warns must never touch untrusted data.
Anyone who could influence a pickled column, through another injection, stolen database credentials or an untrusted backup restore, could turn a routine database read into code execution in the RAGFlow process. A latent footgun rather than a live endpoint, but insecure by default in exactly the place a future field would reuse.