Additional steps I've taken…
I found where the settings are retained in this post: https://forum.pfsense.org/index.php?topic=80365.msg438860#msg438860
I uninstalled, removed all settings, and reinstalled. Finally, a fresh install. However still no luck.
I enabled detailed startup logging, and I'm starting to see something. On every boot attempt and on every interface refresh, I'm noticing it dies in the same place - while parsing "file-executable.so". Here's the last couple of lines from the log:
Mar 25 22:26:01 snort 30401 PortVar 'DCERPC_NCACN_IP_LONG' defined :
Mar 25 22:26:01 snort 30401 [ 135 139 445 593 1024:65535 ]
Mar 25 22:26:01 snort 30401 PortVar 'DCERPC_NCACN_UDP_LONG' defined :
Mar 25 22:26:01 snort 30401 [ 135 1024:65535 ]
Mar 25 22:26:01 snort 30401 PortVar 'DCERPC_NCACN_UDP_SHORT' defined :
Mar 25 22:26:01 snort 30401 [ 135 593 1024:65535 ]
Mar 25 22:26:01 snort 30401 PortVar 'DCERPC_NCACN_TCP' defined :
Mar 25 22:26:01 snort 30401 [ 2103 2105 2107 ]
Mar 25 22:26:01 snort 30401 PortVar 'DCERPC_BRIGHTSTORE' defined :
Mar 25 22:26:01 snort 30401 [ 6503:6504 ]
Mar 25 22:26:01 snort 30401 PortVar 'DNP3_PORTS' defined :
Mar 25 22:26:01 snort 30401 [ 20000 ]
Mar 25 22:26:01 snort 30401 PortVar 'MODBUS_PORTS' defined :
Mar 25 22:26:01 snort 30401 [ 502 ]
Mar 25 22:26:01 snort 30401 PortVar 'GTP_PORTS' defined :
Mar 25 22:26:01 snort 30401 [ 2123 2152 3386 ]
Mar 25 22:26:01 snort 30401 Detection:
Mar 25 22:26:01 snort 30401 Search-Method = AC-BNFA-Q
Mar 25 22:26:01 snort 30401 Maximum pattern length = 20
Mar 25 22:26:01 snort 30401 Search-Method-Optimizations = enabled
Mar 25 22:26:01 snort 30401 Found pid path directive (/var/run)
Mar 25 22:26:01 snort 30401 Tagged Packet Limit: 256
Mar 25 22:26:01 snort 30401 Loading all dynamic engine libs from /usr/local/lib/snort_dynamicengine...
Mar 25 22:26:01 snort 30401 Loading dynamic engine /usr/local/lib/snort_dynamicengine/libsf_engine.so...
Mar 25 22:26:01 snort 30401 done
Mar 25 22:26:01 snort 30401 Finished Loading all dynamic engine libs from /usr/local/lib/snort_dynamicengine
Mar 25 22:26:01 snort 30401 Loading all dynamic detection libs from /usr/local/lib/snort_dynamicrules...
Mar 25 22:26:01 snort 30401 Loading dynamic detection library /usr/local/lib/snort_dynamicrules/browser-ie.so...
Mar 25 22:26:01 snort 30401 done
Mar 25 22:26:01 snort 30401 Loading dynamic detection library /usr/local/lib/snort_dynamicrules/file-executable.so...
The plot thickens.
I went into the directory in the shell, moved file-executable.so out of the directory, and now my WAN interface comes up. Though I'm sure it will choke on the next rules update.
Thoughts?