[asterisk-bugs] [JIRA] (ASTERISK-20175) Security Vulnerability: denial of service attack through exploitation of device state caching

Alec Davis (JIRA) noreply at issues.asterisk.org
Sun Apr 14 19:21:02 CDT 2013


     [ https://issues.asterisk.org/jira/browse/ASTERISK-20175?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alec Davis updated ASTERISK-20175:
----------------------------------

    Regression: No  (was: Yes)
    
> Security Vulnerability: denial of service attack through exploitation of device state caching
> ---------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-20175
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-20175
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Core/General
>    Affects Versions: 1.8.14.1, 10.6.1, 10.6.1-digiumphones
>            Reporter: Matt Jordan
>            Assignee: Kinsey Moore
>      Target Release: 1.8.19.1, 10.11.1, 10.11.1-digiumphones, 11.1.1
>
>         Attachments: event-cachability-3.diff
>
>
> From Russell:
> I have been working with someone on some performance issues with their
> Asterisk cluster that uses distributed device state.  One of the
> problems that we identified was that the size of the device state
> cache was growing out of control.  To view the cache, you can do:
> {noformat}
>     *CLI> event dump cache DeviceState
> {noformat}
> In particular, the states that were causing the problem on these
> systems were things like:
> {noformat}
>     Local/12341234 at whatever
>     DAHDI/i8/12341234
> {noformat}
> Certain "device states" like this are useless to cache.  Imagine an
> outbound call center that uses Local channels in their dialplan and
> PRIs for doing outbound calls.  They get entries in the cache for
> every number they dial.  Ouch.  That's a bug that needs to be
> addressed and I'm not quite sure how to fix it in a good generic way
> yet.  However, that's not the vulnerability.  It's just the background
> that led me to the vulnerability.
> I started thinking about how far this problem really reaches.  I
> wondered, can I remotely grow the cache, causing performance problems
> and eventually running out of RAM?  Unfortunately, yes.  I have
> verified this with SIP.  I imagine the same issue exists with IAX2.
> In chan_sip, if you allow anonymous calls, the channel name is based
> on the domain in the From header.  I verified this vulnerability by
> doing the following:
> {noformat}
>    ; sip.conf
>     [someserver]
>     type=peer
>     host=someserver.com
>     fromdomain=example.com
>     fromuser=foo
> {noformat}
> I then used a call file:
> {noformat}
>     Channel: SIP/foo at someserver
>     CallerID: "My Name" <1111111>
>     Application: Playback
>     Data: beep
> {noformat}
> The domain in the From header should be "example.com".  The channel
> name on the remote server should be "SIP/example.com-<something>".  An
> entry will be added to the cache for "SIP/example.com".  This means
> that I can very easily continue to send calls with different domains
> and fill up the cache.
> The public server that I tested this against happened to be running
> Asterisk 10.  I believe that this affects all versions that have the
> device state cache, which would be 1.6.something and up.
> This is a nasty problem and I'm not sure what the fix should be.  It's
> an architectural problem.  The cache needs to only consist of things
> that are defined locally, and not things that are dynamically
> generated, but there's not a good generic way to determine that given
> a "device" name.  I'd be happy to brainstorm with others on this.
> While the original report came from me, I'd like to credit Leif Madsen
> and Joshua Colp for their assistance with verifying the vulnerability.
> Thanks,
> --
> Russell Bryant

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list