FIX: Buffer Overflow mengeksploitasi mungkin dengan diperpanjang disimpan prosedur

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 280380 - Melihat produk di mana artikel ini berlaku.
BUG #: 100932 (SQLBUG_70)
BUG #: 100936 (SQLBUG_70)
BUG #: 101013 (SQLBUG_70)
BUG #: 351188 (SHILOH_bugs)
BUG #: 351189 (SHILOH_bugs)
Perbesar semua | Perkecil semua

Pada Halaman ini

GEJALA

Cacat dalam beberapa disimpan prosedur diperpanjang dikirim dengan SQL Server memungkinkan buffer memori dialokasikan pada tumpukan untuk ditimpa dengan data yang sewenang-wenang, berpotensi memungkinkan penyerang untuk menjalankan kode sewenang-wenang dalam ruang proses SQL Server. Kode sewenang-wenang ini mungkin digunakan untuk tujuan yang sederhana seperti menutup server untuk hal ikan bertelur proses berbeda yang dapat digunakan untuk mengambil kendali dari server.

PENYEBAB

The srv_paraminfo fungsi adalah digunakan untuk menyalin data yang disahkan oleh pemanggil ke buffer memori dialokasikan oleh diperpanjang disimpan prosedur (callee). Jika callee dialokasikan penyangga ini di tumpukan, dan jika data yang dikirimkan untuk disimpan prosedur luas lebih besar daripada ruang ini dialokasikan, sisa data dapat disalin ke tumpukan, berpotensi Timpa alamat kembali yang mengeksekusi ketika fungsi kembali. Dengan hati-hati membangun buffer dengan informasi yang tepat, petunjuk sewenang-wenang dapat ditempatkan ke dalam memori server dan diperbolehkan untuk dijalankan.

PEMECAHAN MASALAH

SQL Server 2000

Untuk memecahkan masalah ini, Dapatkan paket layanan terbaru untuk Microsoft SQL Server 2000. Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel di Basis Pengetahuan Microsoft:
290211 INF: Cara mendapatkan SQL Server 2000 paket layanan
CATATAN: Perbaikan terbaru berikut diciptakan sebelum untuk Microsoft SQL Server 2000 Paket Layanan 1.

Untuk SQL Server 2000, versi bahasa Inggris untuk perbaikan ini harus memiliki atribut berkas berikut atau kemudian:
   Version      File name
   -------------------------

   8.00.0223    Xprepl.dll
   8.00.0223    Xpstar.dll
   8.00.0223    Xpqueue.dll
   8.00.0223    Odsole70.dll
				


SQL Server 7.0

Untuk memecahkan masalah ini, Dapatkan paket layanan terbaru untuk Microsoft SQL Server 7.0. Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel di Basis Pengetahuan Microsoft:
301511 INF: Cara mendapatkan SQL Server 7.0 paket layanan
CATATAN: Perbaikan terbaru berikut diciptakan sebelum untuk Microsoft SQL Server 7.0 paket layanan 4.

Versi bahasa Inggris untuk perbaikan ini harus memiliki atribut berkas berikut ini atau yang lebih tinggi:
   Version      File name
   ------------------------

   7.00.0918    Xprepl.dll
   7.00.0918    Xpstar.dll
   7.00.0918    Replres.dll
				
CATATAN: Karena dari file dependensi, perbaikan terbaru yang terbaru atau fitur yang berisi berkas yang sebelumnya juga berisi file-file tambahan. Untuk menginstal perbaikan, lakukan langkah-langkah berikut:
  1. Membaca Microsoft Security Bulletin MS00-092, terletak di situs Web berikut:
    http://www.Microsoft.com/technet/Security/Bulletin/ms00-092.mspx
  2. Download patch dari lokasi berikut dengan memilih file yang sesuai untuk versi SQL Server, arsitektur prosesor dan bahasa:
    XP keamanan mingguan
  3. Untuk mengekstrak file, jalankan berkas eksekutabel yang Anda download. Selama proses ekstraksi, Anda diminta untuk tujuan direktori untuk file. Memilih direktori sementara kosong di mana untuk mengekstrak file.CATATAN: Kedua Alpha dan x 86 versi patch harus diambil oleh berjalan di x 86 berbasis sistem.

  4. Disertakan dengan patch adalah file Readme.txt yang memiliki rinci petunjuk instalasi paket khusus. Ikuti instruksi untuk memperbarui sistem Anda dengan file-file ini.

STATUS

Microsoft telah mengkonfirmasi bahwa ini merupakan masalah dalam produk Microsoft yang didaftar pada awal artikel ini.

SQL Server 2000
Masalah ini pertama kali dikoreksi pada SQL Server 2000 Paket Layanan 1.

SQL Server 7.0
Masalah ini diperbaiki pertama kali pada SQL Server 7.0 paket layanan 4.

INFORMASI LEBIH LANJUT

Daftar terpengaruh diperpanjang disimpan prosedur termasuk:
  • Pada SQL Server 7.0:
             xp_sqlinventory
    					
  • SQL Server 7.0 dan SQL Server 2000:
             xp_sqlagent_monitor
    					
  • Pada SQL Server 2000 hanya:
             sp_OACreate
             sp_OAMethod
             sp_OAGetProperty
             sp_OASetProperty
             sp_OADestroy
    					
Memperbaiki ini memperbaiki kerentanan dalam semua dikirim Microsoft diperpanjang disimpan prosedur. Jika pihak ketiga lain diperpanjang disimpan prosedur juga diinstal pada sistem, mungkin mungkin untuk mengeksploitasi serangan ini dengan menggunakan salah satu dari prosedur tersebut jika menggunakan API layanan Data yang terbuka srv_paraminfo. Jika Anda telah memperluas disimpan prosedur yang diinstal oleh pihak ketiga, hubungi vendor tersebut untuk mengetahui apakah prosedur mereka rentan terhadap serangan ini.

Yang mengeksploitasi memanfaatkan menggunakan buffer yang terlalu kecil untuk data yang berlalu. Dengan benar memastikan panjang data yang berlalu, Anda harus panggilan pertama srv_paraminfo dengan parameter yang keenam, pbData, sebagai NULL. Fungsi kemudian kembali panjang aktual parameter data. Penyangga berukuran tepat kemudian akan dialokasikan, dan panggilan kedua dapat dibuat untuk mengambil data. The srv_paraminfo fungsi tidak memungkinkan Anda untuk menentukan panjang maksimum data untuk menyalin ke buffer Anda. Untuk informasi lebih lanjut, lihat srv_paraminfo topik dalam SQL Server buku Online.

Properti

ID Artikel: 280380 - Kajian Terakhir: 23 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Kata kunci: 
kbbug kbfix kbsqlserv2000sp1fix kbmt KB280380 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:280380

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com