[lkml]   [2010]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[064/145] dvb-core: Fix DoS bug in ULE decapsulation code that can be triggered by an invalid Payload Pointer
    2.6.32-stable review patch.  If anyone has any objections, please let me know.

    From: Ang Way Chuang <>

    commit 29e1fa3565a7951cc415c634eb2b78dbdbee151d upstream.

    ULE (Unidirectional Lightweight Encapsulation RFC 4326) decapsulation
    has a bug that causes endless loop when Payload Pointer of MPEG2-TS
    frame is 182 or 183. Anyone who sends malicious MPEG2-TS frame will
    cause the receiver of ULE SNDU to go into endless loop.

    This patch was generated and tested against linux- and should
    apply cleanly to linux-2.6.33 as well because there was only one typo
    fix to dvb_net.c since v2.6.32.

    This bug was brought to you by modern day Santa Claus who decided to
    shower the satellite dish at Keio University with heavy snow causing
    huge burst of errors. We, receiver end, received Santa Claus's gift in
    the form of kernel bug.

    Care has been taken not to introduce more bug by fixing this bug, but
    please scrutinize the code for I always produces buggy code.

    Signed-off-by: Ang Way Chuang <>
    Acked-by: Mauro Carvalho Chehab <>
    Signed-off-by: Linus Torvalds <>
    Signed-off-by: Greg Kroah-Hartman <>

    drivers/media/dvb/dvb-core/dvb_net.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/drivers/media/dvb/dvb-core/dvb_net.c
    +++ b/drivers/media/dvb/dvb-core/dvb_net.c
    @@ -504,6 +504,7 @@ static void dvb_net_ule( struct net_devi
    "bytes left in TS. Resyncing.\n", ts_remain);
    priv->ule_sndu_len = 0;
    priv->need_pusi = 1;
    + ts += TS_SZ;

     \ /
      Last update: 2010-03-13 01:55    [W:0.019 / U:1.316 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site