FIX: Possibile di attacchi di overflow buffer con stored procedure estese

Traduzione articoli Traduzione articoli
Identificativo articolo: 280380 - Visualizza i prodotti a cui si riferisce l?articolo.
BUG #: 100932 (SQLBUG_70)
BUG #: 100936 (SQLBUG_70)
BUG #: 101013 (SQLBUG_70)
BUG #: 351188 (SHILOH_bugs)
BUG #: 351189 (SHILOH_bugs)
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Un problema in numerose stored procedure estese fornite con SQL Server potrebbe consentire a un buffer di memoria allocato sullo stack per essere sovrascritti con dati arbitrari, malintenzionato di eseguire codice arbitrario nello spazio del processo SQL Server. Questo codice non autorizzato potrebbe essere utilizzato per scopi semplici come l'arresto del server per la generazione di un altro processo pu˛ essere utilizzato per assumere il controllo del server.

Cause

La funzione srv_paraminfo consente di copiare i dati passati dal chiamante in un buffer di memoria allocato da stored procedure estesa (chiamato). Se il chiamato allocato il buffer nello stack e se i dati passati alla stored procedure estesa sono maggiori di questo spazio allocato, i dati rimanenti possono essere copiati nello stack, potenzialmente a sovrascrivere l'indirizzo restituito che viene eseguito quando la funzione restituisce. Attentamente creando un buffer con le informazioni a destra istruzioni arbitrarie inserite in memoria del server e consentite l'esecuzione.

Risoluzione

SQL Server 2000

Per risolvere il problema, ottenere il service pack pi¨ recente per Microsoft SQL Server 2000. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
290211INF: Come ottenere il Service Pack pi¨ recente per SQL Server 2000
Nota : Ŕ stata creata la seguente correzione rapida prima di SQL Server 2000 Service Pack 1.

Per SQL Server 2000, la versione inglese di questa correzione rapida Ŕ in deve essere di avere i seguenti attributi di file o versioni successive:
   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

Per risolvere il problema, ottenere il service pack pi¨ recente per Microsoft SQL Server 7.0. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
301511INF: Come ottenere il Service Pack pi¨ recente per SQL Server 7.0
Nota : Ŕ stata creata la seguente correzione rapida prima di SQL Server 7.0 Service Pack 4.

La versione inglese di questa correzione deve essere di avere i seguenti attributi di file o versioni successive:
   Version      File name
   ------------------------

   7.00.0918    Xprepl.dll
   7.00.0918    Xpstar.dll
   7.00.0918    Replres.dll
				
Nota : causa delle dipendenze fra i file, la funzionalitÓ che contiene i file precedenti o l'aggiornamento rapido (hotfix) pi¨ recente pu˛ contenere anche file aggiuntivi. Per installare la correzione, procedere come segue:
  1. Lettura Microsoft Security Bulletin MS00-092, situato il seguente sito Web:
    http://www.microsoft.com/technet/security/bulletin/ms00-092.mspx
  2. Scaricare la patch dal seguente percorso, selezionare il file appropriato per la versione SQL Server, architettura del processore e linguaggio:
    XP Security Downloads
  3. Per estrarre i file, eseguire il file eseguibile autoestraente scaricato. Durante il processo di estrazione, viene chiesta una directory di destinazione per i file. Scegliere una directory temporanea vuota in cui estrarre il file. Nota : entrambe le Alpha x 86 versioni e della patch Ŕ necessario estrarre eseguendo in un sistema di x 86.

  4. Nella patch Ŕ incluso un file Readme.txt che Ŕ di istruzioni di installazione per tale pacchetto particolare dettagliate. Seguire le istruzioni per aggiornare il sistema con questi file.

Status

Microsoft ha confermato che questo problema riguarda i prodotti Microsoft elencati all'inizio di questo articolo.

SQL Server 2000
Il problema Ŕ stato risolto nel Service Pack 1 per SQL Server 2000.

SQL Server 7.0
Questo problema Ŕ stato innanzitutto corretto in SQL Server 7.0 Service Pack 4.

Informazioni

L'elenco di stored procedure estese interessate include:
  • In SQL Server 7.0:
             xp_sqlinventory
    					
  • In SQL Server 7.0 e SQL Server 2000:
             xp_sqlagent_monitor
    					
  • Su SQL Server 2000 solo:
             sp_OACreate
             sp_OAMethod
             sp_OAGetProperty
             sp_OASetProperty
             sp_OADestroy
    					
Questa correzione risolve la vulnerabilitÓ in tutte le fornito da Microsoft stored procedure estese. Se altre stored procedure estese di terze parti sono installate anche in un sistema, Ŕ possibile sfruttare questo tipo di attacco utilizzando una delle tali procedure se si utilizza l' API ODS srv_paraminfo . Se Ŕ stato esteso stored procedure installate da terzi, contattare tale fornitore per sapere se le relative procedure sono vulnerabili a questo attacco.

L'attacco sfrutta utilizzando un buffer troppo piccolo per i dati passati. Per verificare correttamente la lunghezza dei dati passati, Ŕ prima necessario chiamare srv_paraminfo con il sesto parametro, pbData come NULL. La funzione restituisce quindi la lunghezza effettiva dei dati di parametro. Quindi Ŕ possibile allocare un buffer di dimensione appropriate e una seconda chiamata pu˛ essere eseguita per recuperare i dati. La funzione srv_paraminfo non consente di specificare una lunghezza massima di dati da copiare nel buffer. Per ulteriori informazioni, vedere l'argomento srv_paraminfo nella documentazione in linea di SQL Server.

ProprietÓ

Identificativo articolo: 280380 - Ultima modifica: mercoledý 5 settembre 2007 - Revisione: 4.2
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft Data Engine 1.0
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 7.0 Service Pack 1
  • Microsoft SQL Server 7.0 Service Pack 2
Chiavi:á
kbmt kbbug kbfix kbsqlserv2000sp1fix KB280380 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 280380
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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