Skip to content
  1. Jul 16, 2015
    • Jian Liu's avatar
      net-snmp: don't return incompletely parsed varbinds · 8e642c32
      Jian Liu authored
      the snmp_pdu_parse() function could leave incompletely parsed varBind
      variables in the list of variables in case the parsing of the SNMP
      PDU failed. If later processing tries to operate on the stale and
      incompletely processed varBind (e.g. when printing the variables),
      this can lead to e.g. crashes or, possibly, execution of arbitrary
      code.
      
      The snmp_pdu_parse() function stores varBind variables in a list of
      netsnmp_variable_list structures. Each time the function parses a new
      varBind, a new netsnmp_variable_list item is allocated on the heap
      and linked to the list of variables. The problem is that this item
      is not removed from the list, even if snmp_pdu_parse() fails to
      complete the parsing.
      
      The "type" member of the stale netsnmp_variable_list is not
      properly initialized in case snmp_pdu_parse() returns early from the
      parsing. However, the "type" member is used to determine later code
      paths, which is why we see crashes in a variety of functions,
      although the root cause for all of these is the same.
      
      This patch come from
      http://sourceforge.net/p/net-snmp/code/ci/f23bcd3ac6ddee5d0a48f9703007ccc738914791/
      
      
      
      Written-by: Robert Story
      Signed-off-by: default avatarJian Liu <jian.liu@windriver.com>
      Signed-off-by: default avatarMartin Jansa <Martin.Jansa@gmail.com>
      Signed-off-by: default avatarJoe MacDonald <joe_macdonald@mentor.com>
      8e642c32
  2. Jul 15, 2015
  3. Jul 06, 2015
  4. Jun 23, 2015
  5. Jun 17, 2015
  6. Jun 08, 2015