Cloudflare keeps delivering zero byte versions of some images - what could be wrong?

We use cloudflare to deliver the static content for our web store - js, css and images served in a subdomain.
Recently we have been having issues on product listing pages. Here multiple product images are loaded, but not in huge numbers of images - maybe 20 or 30 at a time.

What we see is that the images are requested of cloudflare and for some of them a zero byte version is delivered. These images get a response code 200, but no response data at all.
If I right click the little ‘missing image’ icon and ‘load image’ it will not load, but if I ‘open image in new tab’ then the image successfully loads every time (following a brief ‘browser check’ process)
For these missing images, the same images will be missing for all website visitors.
If I purge all cache in cloudflare this always resolves the issue.

Can anyone suggest what might be the problem and now I can resolve it? I logged a ticket with cloudflare support some weeks ago but got no response on the matter.

This is a relatively new issue for us after using cloudflare in this way for over 5 years, but it has been persistently happening for over a month now :slightly_frowning_face:

it looks like this for website visitors, even though we can always load the image successfully in a new tab of the same browser