26th Sep 2002 [SBWID-5305]
COMMAND
	LabVIEW Web Server DoS vulnerability due to malformed HTTP command
SYSTEMS AFFECTED
	5.1.1 - 6.1
PROBLEM
	Steve   Zins   [http://www.ilabview.com]   posted   following   advisory
	regarding LabVIEW web  server,  an  integrated  development  system  for
	creating LabVIEW programs, which are called Virtual Instruments or  VIs.
	The LabVIEW application can run, or host, VIs in  its  own  environment.
	The  LabVIEW  application  can  also  host  its  own  Internet  servers,
	including an HTTP or Web server. LabVIEW also  has  extensive  libraries
	to interface with real-world test and measurement equipment, as well  as
	mechanical motion control and process control equipment.
	When the malformed HTTP request  described  below  is  received  by  the
	LabVIEW Web Server, the entire LabVIEW  application  crashes,  including
	the Web Server, and  any  other  LabVIEW  programs,  or  VIs,  that  are
	running in the application environment. This  amounts  to  a  Denial  of
	Service attack,  not  only  on  the  web  server,  itself,  but  on  any
	processes hosted in the  LabVIEW  application.  LabVIEW  VIs  performing
	real-world processes could be interrupted by this type of attack.
	National Instruments has confirmed this  exploit  and  has  published  a
	response in their KnowledgeBase, referenced below. This states that  the
	crash will occur only when web server logging is enabled.
	While this is demonstrably a Denial of Service vulnerability,  it  might
	also be exploitable with a buffer overflow attack.
	 EXPLOIT
	 =======
	The  LabVIEW  Web  Server  crashes  when  it  processes  the   following
	malformed HTTP request:
	
	      GET\s/\sHTTP/1.0\n\n
	
	This request is malformed because RFC 1945 for HTTP 1.0  specifies  that
	header lines should be separated by CRLF (\r\n), not  just  LF  (\n)  as
	shown here. The header should be ended by two adjacent  CRLF  sequences.
	But a server should not crash when it processes this sequence.
	The server crashes only when the Web Server logging is disabled.
	 REFERENCES
	 ==========
	
	National Instruments - http://www.ni.com/
	LabVIEW - http://sine.ni.com/apps/we/nioc.vp?cid=1381〈=US
	National Instruments KnowledgeBase notification -
	http://digital.ni.com/public.nsf/websearch/4C3F86E655E5389886256BA00064B22F?
	OpenDocument
	
SOLUTION
	 Workaround
	 ==========
	Disable web server logging.
	I strongly recommend that (1) LabVIEW  Web  Servers  be  run  only  with
	logging disabled and that (2) any LabVIEW application that is running  a
	LabVIEW Web  server  does  not  also  run  processes  that  could  cause
	real-world damage if interrupted.