[Bro-Dev] [JIRA] (BIT-1298) IP_Hdr pointer do not propagate from udp to child analyzers via DeliverPacket method causing a segfault
Jon Siwek (JIRA)
jira at bro-tracker.atlassian.net
Tue Dec 9 09:00:01 PST 2014
[ https://bro-tracker.atlassian.net/browse/BIT-1298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=19202#comment-19202 ]
Jon Siwek commented on BIT-1298:
--------------------------------
I'm not easily reproducing this for NTP. Can you give the stack trace and/or elaborate more on any code you've modified?
And the only place I'm seeing Analyzer::ForwardPacket explicitly propagate a null IP_Hdr* is in DNS over TCP (because it's reassembling a stream and may not have a single associated IP header). But in that case, it's forwarding on to the analyzer for DNS over UDP (to re-use the same analysis logic), which doesn't make use of that pointer. If you're writing code that relies on the current DNS analyzer, I think it's just going to have to anticipate the IP_Hdr* being null if the connection uses TCP.
> IP_Hdr pointer do not propagate from udp to child analyzers via DeliverPacket method causing a segfault
> -------------------------------------------------------------------------------------------------------
>
> Key: BIT-1298
> URL: https://bro-tracker.atlassian.net/browse/BIT-1298
> Project: Bro Issue Tracker
> Issue Type: Problem
> Components: Bro
> Affects Versions: 2.3
> Environment: Debian
> Reporter: Eric Asselin
> Priority: High
> Labels: analyzer
> Attachments: core.zip
>
>
> From a child analyzer like NTP, the IP_Hdr pointer in the DeliverPacket method is empty and unusable causing a segmentation fault as soon as you try to access it.
> To recreate the bug, just add an "assert(ip)" inside the DeliverPacket method of a UDP child analyzer and the execution will fail (instead of the segmentation fault).
--
This message was sent by Atlassian JIRA
(v6.4-OD-11-014#64007)
More information about the bro-dev
mailing list