Project

General

Profile

Actions

Bug #14986

closed

Snort's Legacy Blocking Mode custom plugin code causes a Signal 11 and core dump when "kill states" option is enabled

Added by Bill Meeks over 1 year ago. Updated over 1 year ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Snort
Target version:
-
Start date:
Due date:
% Done:

100%

Estimated time:
Plus Target Version:
Affected Version:
2.7.x
Affected Plus Version:
23.09
Affected Architecture:
All

Description

It appears the changes in this commit approximately two weeks ago: https://github.com/pfsense/FreeBSD-ports/commit/4f0328385462efdd72f20ed4c037bc254630ebe4 introduced a bug in the Legacy Blocking module for Snort. Users on pfSense Plus 23.09 are reporting very frequent Signal 11 faults with a core dump since upgrading to the latest pfSense Plus version with the latest Snort binary.

Troubleshooting with a user having the issue on the Netgate forum, I had that user disable the "kill states" option in the package GUI. When that option disabled, the custom blocking module will still add the offending IP address to the pf snort2c table, but it will NOT call the code to clear any existing firewall states for the offender IP address. This mode of operation results in Snort running normally (albeit no longer killing open states for blocked IP addresses). Based on this result, I think there is an issue in the new code.


Files

Screenshot_20231115-224738.png (124 KB) Screenshot_20231115-224738.png Error log Jonathan Lee, 11/16/2023 06:48 AM
Actions #1

Updated by Jonathan Lee over 1 year ago

pid 56711 (snort), jid 0, uid 0: exited on signal 11 (core dumped)

Also occurs on SG2100 Max now

Actions #2

Updated by Bill Meeks over 1 year ago

This bug is still under active investigation. I have experienced it three times over two days of running Snort in a CE 2.7.0-RELEASE virtual machine. The bug appears to happen randomly- sometimes within an hour and other times several hours elapse between instances.

Something like this that is not 100% reproducible using the same steps in each test is a challenge to find.

Actions #3

Updated by Bill Meeks over 1 year ago

This bug has likely been traced to the particular version of the libpfctl library bundled with pfSense CE 2.7.0, 2.7.1, and pfSense Plus 23.09. A fix for the libpfctl library package was submitted by its maintainer here: https://github.com/pfsense/FreeBSD-ports/commit/36019faf7b771be00808b184eda565f346c5ed5b.

Some additional code cleanup was done in the Snort custom output plugin used on pfSense to implement Legacy Blocking Mode. The pull request containing those code fixes is awaiting review and merge here: https://github.com/pfsense/FreeBSD-ports/pull/1326.

After these changes are all merged and new packages are built, final confirmation testing can performed.

Actions #4

Updated by Kristof Provost over 1 year ago

The relevant changes have been merged to 2.7.1 and 23.09.

The 23.09 build is currently failing due to unrelated changes, but 2.7.1 should be able to update already.

Actions #5

Updated by Bill Meeks over 1 year ago

The fix has deployed in package updates to both CE 2.7.1 and Plus 23.09. User feedback on the Netgate Forum indicates this bug is resolved.

Actions #6

Updated by Jim Pingle over 1 year ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100
Actions

Also available in: Atom PDF