If you have exim, there should be a mailman_virtual_transport & mailman_virtual_router section in /etc/exim.conf .
These normally won't let bogus mail in, but they watch only the suffix like this (found in mailman_virtual_router section):
local_part_suffix = -admin : \
-bounces : -bounces+* : \
-confirm : -confirm+* : \
-join : -leave : \
-owner : -request : \
-subscribe : -unsubscribe
So there it is, they can write to non-existant lists too - and the mailman router is before any of the other routers, so it even misses the spam check on my config. However, this was no problem for me so far, we host only moderated lists.
If you host only a small number of lists, you should write a few extra checks with
{match{$local_part}
If you look into your exim.conf, there are already rules for the -bounce suffix there:
accept condition = \
${if and {{match{$local_part}{(.*)-bounces\+.*}} \
{exists {/usr/local/cpanel/3rdparty/mailman/lists/${lc:$1}/config.pck}}} \
{yes}{no}}
So you should write a few like these for the other valid suffixes.
Edit: BEFORE MESSING WITH exim.conf, SAVE A BACKUP SOMEWHERE, BECAUSE IT'S WISE TO RESTORE THE ORIGINAL BEFORE USING WHM'S EXIM CONFIG EDITOR!
Hope this helps, but bear in mind, that if you modify /etc/exim.conf, it would be overwritten by cpanel at the next update, so it's OK for testing things, but for permanent results you should put in the necessary changes through WHM's exim config editor.
Oh, and after modifying exim's config, you must restart exim for the changes to take effect...