I doubt this is an Cloudflare WAF issue, as I run multile WordPress sites, also few on a Pro plan (uploading images larger than 1200px, but smaller than 1.5MB in size), but it could be somehow.
If so, do you see any blocked event in your
Firewall Events tab at Cloudflare dashboard by some rule?
Are you using the latest version of the official Cloudflare plugin for WordPress?
Does your hosting provider have
Furthermore, kindly re-check if Cloudflare is allowed to connect to your origin host to as follows in the below article:
Nevertheless, Cloudflare IP addresses list can be found here:
Also, do you see Cloudflare IP or visitor IP in your access/error log files at the origin host / server?
Does anything appear in your server access / error log, or maybe have you tried to turn on WordPress Debugging?
Debugging PHP code is part of any project, but WordPress comes with specific debug systems designed to simplify the process as well as standardize code across the core, plugins and themes. This page describes the various debugging tools in WordPress...
Therefore, may I ask how big/large the image you are trying to upload is (filesize and resolution) to your WordPress website proxied
Have you tried whitelisting/allowing your server IP in
Firewall Rules and IP Access Rules at Cloudflare dashboard?
Which WordPress version are you running?
Which PHP version?
Furthermore, if recently updated PHP, it could be due to imagick package (for linux + PHP extension) as it has had some bugs two days in a row as far as I remember.
Kindly, re-check with your hosting provider / or cPanel if available to you if all the needed PHP modules/extensions are enabled.
Also, if PHP settings are set to the right one, like values of:
max_input_vars (5000 or 7000)
Post-processing of the image failed likely because the server is busy or does not have enough resources. Uploading a smaller image may help. Suggested maximum size is 2500 pixels.
A bit helpful articles: