Relacje katalogowe

Obsługiwane urządzenia

LabVIEW jest środowiskiem graficznego programowania, wykonania i dystrybucji aplikacji pomiarowych oraz sterujących. W aparaturze bioprocesowej nazwa może oznaczać pełne stanowisko deweloperskie, bezpłatny LabVIEW Runtime uruchamiający skompilowany program producenta, aplikację hosta komunikującą się z kontrolerem po porcie szeregowym albo kod wdrożony na target LabVIEW Real-Time. Te przypadki mają różne pliki, licencje i powierzchnie ataku.

Najważniejsze dane

Pole Wartość
Producent National Instruments (NI), od 2023 r. część Emerson
Bieżąca linia LabVIEW 2026 Q3
Minimalna poprawka bieżącej linii obejmująca advisories z sierpnia i września 2026 r. 2026 Q3 Patch 1
Edycje deweloperskie Base, Full, Professional oraz LabVIEW+ Suite
Edycja bezpłatna Community Edition, wyłącznie osobiste zastosowania niekomercyjne i nieprzemysłowe
Runtime LabVIEW Runtime/Run-Time Engine, bezpłatny składnik wykonawczy bez edytora
Targety czasu rzeczywistego m.in. CompactRIO i PXI z LabVIEW Real-Time; FPGA wymaga osobnego modułu
Język i model wykonania graficzny język G, dataflow, automatyczna kompilacja VI
Główne artefakty .vi, .lvproj, .lvlib, .lvlibp, .lvclass, .ctl, .xctl, EXE, DLL, installer
Typowe formaty danych TDMS, CSV, pliki binarne definiowane przez aplikację; bazy przez toolkit lub kod aplikacji
Domyślny VI Server TCP wyłączony; ActiveX włączony; po włączeniu TCP port 3363
Główne serwery WWW Remote Panels TCP 8000/443; LabVIEW Web Services 8080; NI Web Server 80/443; konfiguracja urządzeń 3580
Licencjonowanie subskrypcja albo perpetual; konto/serial i Computer ID, VLM dla licencji organizacyjnych
Fizyczny dongle aktualne procedury NI opierają się na Computer ID, pliku licencji lub serwerze VLM, bez obowiązkowego dongla USB
Liczba rekordów CVE w przeglądzie 51 dla LabVIEW i jego bezpośrednich komponentów, od 2002 do 2026 r.

Granice produktu

Składnik Funkcja Znaczenie dla inwentaryzacji
LabVIEW Development System edycja kodu G, front panel, block diagram, debugowanie i projekt obecność edytora umożliwia otwieranie VI/LVLIB/LVCLASS i ma znaczenie dla podatności parserów
LabVIEW Runtime wykonanie EXE i bibliotek zbudowanych w LabVIEW wersja i bitowość muszą odpowiadać aplikacji; sam Runtime nie daje funkcji deweloperskich
Application Builder budowanie EXE, bibliotek współdzielonych i instalatorów część Professional lub osobny moduł dla wybranych edycji
LabVIEW Real-Time Module kompilacja i wdrożenie aplikacji na target RT odrębny system operacyjny, obraz targetu, usługi sieciowe i proces aktualizacji
LabVIEW FPGA Module synteza logiki dla FPGA osobny bitfile i toolchain; nie należy utożsamiać z desktopowym Runtime
NI Web Server / Application Web Server publikacja web services, konfiguracja i role własne porty, TLS, konta i historia podatności
VI Server programistyczne sterowanie LabVIEW, VI i front panelami TCP jest domyślnie wyłączony, lecz aplikacja może go włączyć w pliku INI
DSC Module shared variables, alarmy, logging i domenowe konta NI mechanizmy kont DSC nie są kontrolą dostępu edycji Base/Full/Professional

Nazwa LabVIEW w wykazie zainstalowanego oprogramowania nie rozstrzyga, które z tych składników są aktywne. Dla hosta operatorskiego potrzebne są przynajmniej: pełna wersja Runtime, bitowość, lista pakietów NI, sterowniki urządzeń, plik konfiguracyjny EXE, aktywne usługi Windows i reguły zapory.

Powiązane urządzenia

Karta Potwierdzony zakres
Rotametr Bioreaktor SBR program Reaktor i własne biblioteki wykonane w LabVIEW; karta producenta wymienia Windows 2000/XP/Vista 32-bit oraz Linux
T&J D2MS aplikacje OAJ/Logger zbudowane w LabVIEW; dokładnie NI LabVIEW Runtime 2018 SP1 32-bit na 64-bitowym Windows
T&J CloudReady D2MS Native Pro z Runtime 2018 SP1 na hoście Windows/SQL Server
New Brunswick BioFlo III opublikowana konfiguracja badawcza wykorzystująca LabVIEW i RS-232 do sekwencyjnego procesu batch; nie jest to fabryczny firmware BioFlo III

Relacja nie przenosi automatycznie całej historii CVE na urządzenie. D2MS uruchamia skompilowane EXE w Runtime 2018 SP1; typowe podatności wymagające otwarcia przygotowanego pliku VI mają znaczenie dopiero wtedy, gdy dany host lub aplikacja rzeczywiście przetwarza taki artefakt. Analogicznie domyślne konto konfiguracji NI Web Server dotyczy tylko hosta z tym składnikiem i nie jest hasłem do kontrolera BioFlo ani Rotametr.

Wersje używane w inwentarzu

Najdokładniej zidentyfikowany stos ma T&J D2MS. Pełna paczka Community 2.6.2.13 i materiały Native wskazują NI LabVIEW Runtime 2018 SP1, 32-bit. Ten Runtime pracuje na 64-bitowym Windows, a 32-bitowość wpływa na ładowane DLL, komponenty COM, OPC DA i NI DataSocket. Obok niego występuje NI License Manager przygotowany względem linii 4.7.

Rotametr opisuje środowisko i program Reaktor, ale karta produktu nie wiąże go z numerem LabVIEW. BioFlo III ma relację z pojedynczą publikacją badawczą i protokołem RS-232. Tych dwóch przypadków nie wolno sztucznie oznaczać jako Runtime 2018 SP1.

Bieżąca linia i rytm wydań

NI publikuje obecnie wydania kwartalne, np. 2025 Q3, 2026 Q1 i 2026 Q3, oraz kolejne patche tej samej gałęzi. LabVIEW 2026 Q3 ukazał się w lipcu 2026 r. Bieżący poziom bezpieczeństwa dla tej gałęzi to co najmniej 2026 Q3 Patch 1: poprawka obejmuje osiem podatności ogłoszonych w sierpniu i na początku września 2026 r.

Utrzymywana gałąź Poziom obejmujący advisories z sierpnia/września 2026 r.
2026 2026 Q3 Patch 1 lub nowszy
2025 2025 Q3 Patch 5 lub nowszy
2024 2024 Q3 Patch 7 lub nowszy
2023 2023 Q3 Patch 10 lub nowszy
2022 i starsze poza Mainstream Support według tabel NI z 2026 r.

Numer bazowy bez poziomu patcha nie wystarcza do oceny. 2026 Q3 i 2026 Q3 Patch 1 różnią się m.in. stanem CVE-2026-18444 i CVE-2026-18445.

Front panel i block diagram

Program LabVIEW nazywa się Virtual Instrument (VI). Front panel jest interfejsem użytkownika: zawiera controls, indicators, wykresy, przełączniki i pola wartości. Block diagram jest graficznym kodem źródłowym; terminale front panelu są połączone przewodami z funkcjami, strukturami, subVI i węzłami I/O.

Przykładowy front panel LabVIEW z paletą Controls

Źródło obrazu: NI LabVIEW Environment: Detailed Explanation, s. 1.

Model dataflow uruchamia węzeł, gdy dostępne są wszystkie jego dane wejściowe. Niezależne gałęzie diagramu mogą wykonywać się współbieżnie. Kod może wywoływać biblioteki DLL, .NET, ActiveX, Python i C/C++, dlatego SBOM aplikacji nie kończy się na plikach NI.

Przykładowy block diagram akwizycji temperatury

Źródło obrazu: NI LabVIEW Environment: Detailed Explanation, s. 4.

Projekt, biblioteki i zależności

Rozszerzenie lub artefakt Znaczenie
.vi pojedynczy Virtual Instrument: front panel, block diagram, connector pane i metadane
.lvproj projekt i drzewo targetów, zależności oraz build specifications
.lvlib XML-owa definicja project library i odwołania do jej elementów
.lvlibp packed project library; pojedynczy nieedytowalny plik zależny od wersji LabVIEW
.lvclass klasa LabVIEW i jej prywatne dane/metody
.ctl / .xctl definicje kontrolek i XControl
.llb starsza biblioteka kontenerowa LabVIEW
EXE / DLL wynik Application Builder uruchamiany z odpowiednim Runtime
installer paczka EXE, Runtime oraz opcjonalnych sterowników i modułów
.rtexe aplikacja startowa dla wybranych targetów LabVIEW Real-Time

Project Explorer ładuje biblioteki, klasy, XControls i ich hierarchie zależności. Elementy wywoływane dynamicznie mogą pojawić się dopiero w Items in Memory, więc samo statyczne drzewo .lvproj nie jest pełnym manifestem wykonania. Istotne są również ścieżki wyszukiwania subVI, katalog data, prywatne DLL, zarejestrowane ActiveX/COM i pakiety instalowane przez NI Package Manager albo VIPM.

Runtime i zgodność bitowości

LabVIEW Runtime może być pobrany osobno, przez NI Package Manager albo włączony do instalatora aplikacji. Nie zawiera środowiska edycji. Runtime jest wymagany na każdym hoście uruchamiającym EXE lub bibliotekę zbudowaną Application Builderem.

NI wymaga zgodnej bitowości aplikacji i Runtime. Na 64-bitowym Windows mogą współistnieć 32- i 64-bitowe Runtime tej samej wersji. Różne główne wersje również mogą być zainstalowane równolegle. Dla aplikacji zbudowanych w LabVIEW 2016 i starszym potrzebny jest Runtime tej samej wersji; od 2017 builder może dopuścić późniejsze Runtime opcją Allow future versions of the LabVIEW Runtime to run this application, ale NI zastrzega możliwość zmiany zachowania.

W D2MS jest to praktyczny punkt identyfikacyjny: 2018 SP1 32-bit należy potwierdzić w NI MAX albo przez wersję lvrt.dll w Program Files (x86)\National Instruments\Shared\LabVIEW Run-Time.

Application Builder i dystrybucja

Application Builder tworzy stand-alone EXE, shared library i instalator. Installer może dołączyć odpowiedni Runtime oraz runtimes modułów i sterowników użytych przez aplikację. Professional zawiera Application Builder; dla pozostałych wariantów NI oferuje osobny moduł.

W inwentaryzacji pakietu producenta aparatury należy zachować razem:

  • EXE i odpowiadający mu plik INI;
  • katalog data, biblioteki prywatne i DLL;
  • instalator Runtime o tej samej wersji i bitowości;
  • NI Package Manager feed/cache oraz listę zainstalowanych packages;
  • instalatory NI-VISA, NI-DAQmx, NI-RIO, OPC/DSC i innych sterowników;
  • pliki licencyjne, serial, Computer ID i konfigurację VLM;
  • projekt źródłowy, jeżeli jest częścią dostawy;
  • obraz systemu operatorskiego i eksport konfiguracji NI MAX.

LabVIEW Real-Time i FPGA

LabVIEW Real-Time rozdziela host deweloperski od targetu. Projekt zawiera komputer My Computer, target RT i opcjonalny target FPGA. Kod jest kompilowany na hoście, wdrażany przez sieć i może zostać skonfigurowany jako aplikacja startowa targetu. Dla CompactRIO target RT wykonuje logikę deterministyczną, zarządza I/O i komunikacją; FPGA realizuje szybsze lub sprzętowo deterministyczne zadania.

Typowa architektura ma trzy warstwy:

Warstwa Funkcja
host Windows/Linux projekt, HMI, konfiguracja, analiza, baza i aktualizacje
procesor RT pętle deterministyczne, sekwencje, logging i komunikacja
FPGA bezpośrednia obsługa I/O, timing, filtracja i sprzętowa logika ochronna

Target Real-Time jest osobnym zasobem IT. Należy zebrać model kontrolera, obraz NI Linux Real-Time lub starszego RTOS, wersję NI-RIO, startup application, pliki ni-rt.ini, konta, certyfikaty, dostęp SSH/WWW i konfigurację NI MAX. Żaden z czterech modeli powiązanych w tej encyklopedii nie ma potwierdzonego targetu CompactRIO; sekcja opisuje granicę platformy, nie cechę tych urządzeń.

Dane i storage

LabVIEW nie wymusza jednego backendu. Aplikacja może zapisywać TDMS, CSV, tekst, format binarny definiowany przez autora, pliki konfiguracji lub dane w bazie dostępnej przez toolkit, ODBC albo własną bibliotekę. TDMS przechowuje hierarchię root/group/channel oraz właściwości i dane kanałów; pliki mogą mieć oddzielny indeks.

W systemie D2MS właściwym backendem jest Microsoft SQL Server 2017, a formaty projektu i konfiguracji T&J są osobną warstwą. Nie należy wnioskować SQL Server dla każdego systemu LabVIEW ani TDMS dla D2MS tylko dlatego, że LabVIEW obsługuje ten format.

Interfejsy i sterowniki

LabVIEW może integrować aparaturę przez sterowniki i biblioteki, w tym:

  • NI-VISA dla serial, USB, GPIB i instrumentów TCP/IP;
  • NI-DAQmx dla urządzeń akwizycji;
  • NI-RIO dla CompactRIO i FPGA;
  • OPC/DSC oraz shared variables;
  • TCP, UDP, HTTP, Web Services i Network Streams;
  • DLL, .NET, ActiveX/COM i Python;
  • sterowniki instrumentów producentów trzecich.

To katalog możliwości platformy. Dla BioFlo III potwierdzono RS-232 i aplikację badawczą; dla D2MS Community potwierdzono OPC DA i NI DataSocket, a konfiguracje aplikacji T&J mają ustawienia VI Server/Web Server w plikach INI.

Porty i usługi sieciowe

Port Składnik Stan/rola
TCP 3363 VI Server TCP domyślnie wyłączony w Development System; port konfigurowalny
TCP 8000 Remote Front Panels domyślny wariant bez TLS
TCP 443 Remote Front Panels / NI Web Server wariant TLS; port zależy od konfiguracji serwera
TCP 8080 LabVIEW Web Services Application Web Server
TCP 80/443 NI Web Server HTTP/HTTPS dla web services i aplikacji serwera
TCP 3580 Web Monitoring and Configuration konfiguracja urządzeń NI
UDP 5353 mDNS wykrywanie usług/urządzeń
TCP 52725 NI Network Browser wykrywanie urządzeń
UDP 44515/44525, TCP 44516 NI MAX Hardware Identification discovery i konfiguracja sprzętu
TCP 3079 LabVIEW Real-Time deployment i debugowanie VI
TCP 2343, UDP 6000–6010, TCP 59110+ Network Streams dane i dynamiczne endpointy LogosXT
TCP 3537 NI-VISA Server zdalny dostęp VISA

Lista opisuje porty możliwe dla składników NI, a nie zestaw otwarty na każdym hoście. Stan trzeba powiązać z usługą/procesem, konfiguracją INI, zaporą i rolą hosta.

VI Server

VI Server pozwala programowo sterować LabVIEW, obiektami front panelu i VI. W bieżącej dokumentacji NI jego TCP/IP jest domyślnie wyłączony, a ActiveX domyślnie włączony. Włączenie TCP wyświetla ostrzeżenie bezpieczeństwa. Domyślny port dla głównej instancji aplikacji to 3363; target może użyć portu dynamicznego.

Kontrola obejmuje trzy osobne listy:

  1. protokoły i port;
  2. Machine Access, czyli dozwolone/odrzucone adresy;
  3. User Access oraz zasoby dostępne przez serwer.

Brak pasującego wpisu Machine Access skutkuje odmową. Konfiguracja aplikacji zbudowanej może znajdować się w INI obok EXE. D2MS dostarcza m.in. server.app.propertiesEnabled=True, server.ole.enabled=True i server.tcp.paranoid=True; dlatego audyt hosta T&J powinien objąć rzeczywisty listener, access lists i uruchomione moduły.

Wejście do ustawień LabVIEW przez Tools → Options

Źródło obrazu: LabVIEW Configuration for Secure Applications, 2024, s. 1.

Konta, role i domyślne dane NI Web Server

Edycje Base, Full i Professional nie używają kont LabVIEW jako ogólnego mechanizmu wymuszania uprawnień. Domain Account Manager i podstawowe śledzenie użytkownika są związane przede wszystkim z DSC. Kontrola dostępu aplikacji operatorskiej musi być zaimplementowana w samej aplikacji albo w zewnętrznym systemie tożsamości.

NI Web Server obsługuje role i privileges dla HTTP Method VIs. Oficjalna procedura podaje szczególny stan inicjalny: jeżeli ustawienia bezpieczeństwa NI Web-based Configuration & Monitoring nie zostały jeszcze ustanowione, dostęp konfiguracyjny używa nazwy Admin i pustego hasła. Jest to domyślne konto komponentu NI Web Server, a nie uniwersalne hasło LabVIEW Runtime ani któregokolwiek z powiązanych bioreaktorów.

Community Edition używa licencji przypisanej do użytkownika: może być zainstalowana na maksymalnie trzech komputerach i działać na jednym naraz. Aktywacja Community wymaga zalogowania do konta NI; offline activation nie jest dla niej dostępna, choć po aktywacji program może działać bez sieci.

Panel Security w LabVIEW 2024

Źródło obrazu: LabVIEW Configuration for Secure Applications, 2024, s. 2.

Konfiguracja bezpieczna według NI

Oficjalny przewodnik z czerwca 2024 r. zaleca dla aplikacji wymagających kontroli bezpieczeństwa:

  • Behavior for unrecognized Run When Opened VIs ustawić na otwarcie VI bez automatycznego uruchomienia;
  • sprawdzić ścieżki wyszukiwania subVI i używać zaufanych lokalizacji;
  • po pracy z chronionymi VI użyć Clear Password Cache;
  • rejestrować w revision history konto systemu operacyjnego, a nie współdzieloną nazwę;
  • pozostawić VI Server TCP wyłączony, wyłączyć ActiveX i wszystkie accessible resources, jeżeli nie są wymagane;
  • nie aktywować NI Web Server, Application Web Server ani Remote Panel Server bez skonfigurowania TLS, ról i ograniczeń;
  • dla shared variables świadomie zarządzać kontem Nobody albo skonfigurowaną tożsamością DSC.

Dokument odnosi te ustawienia do NIST SP 800-53 rev. 5 i obejmuje Base, Full oraz Professional.

Usługi Windows instalowane z LabVIEW

Przewodnik NI wymienia sześć usług startujących wraz z Windows:

Nazwa usługi Funkcja
lkClassAds NI PSP Service Locator
lkTimeSync NI Time Synchronization
niauth NI Authentication Service
NIDomainService NI Domain Service
nimDNSResponder NI mDNS Responder Service
NiSvcLoc NI Service Locator

Lista procesów, kont usług, ścieżek binarnych i ACL jest częścią inwentaryzacji hosta. W instalacji Runtime zestaw może być mniejszy lub rozszerzony przez sterowniki, NI Web Server, DSC, NI-RIO i NI Package Manager.

Licencje i aktywacja

LabVIEW Base, Full, Professional i LabVIEW+ Suite są oferowane w subskrypcji albo jako licencje wieczyste. Perpetual zachowuje prawo do uruchamiania kupionej wersji; pierwszy rok obejmuje software service, a dalszy dostęp do nowych/starszych wydań i wsparcia zależy od odnowienia. Subskrypcja wymaga odnowienia, by kontynuować użycie.

Aktywacja single-seat używa serialu, 16-znakowego Computer ID i NI License Manager. Host odłączony od Internetu może otrzymać kod aktywacyjny wygenerowany dla konkretnego produktu, wersji i Computer ID. Organizacje używają NI Volume License Manager; klient pyta serwer VLM o prawo do uruchomienia albo otrzymuje plik disconnected license. Utrata kontaktu z VLM może uruchomić 14-dniowy backup license.

Aktualne procedury nie wymagają fizycznego klucza USB. W środowisku izolowanym artefaktami krytycznymi są plik licencji, Computer ID, nazwa/MAC serwera VLM, nilm.opt, stan połączenia z VLM i data wygaśnięcia disconnected license.

Ceny i numery części

Sklep NI wycenia LabVIEW według edycji, terminu, regionu i usług. Statyczna karta produktu publikuje numery części, a kwotę ładuje dla wybranej konfiguracji lub kieruje do wyceny. Z tego powodu trwałym identyfikatorem zakupowym jest kombinacja part number, edycji, terminu oraz typu stanowiska.

Wariant Informacja zakupowa
Base subscription albo perpetual; przykładowy link sklepu używa part number 784503-35
Full subscription albo perpetual; przykładowy link używa 784522-35
Professional subscription albo perpetual; przykładowy link używa 784584-35
LabVIEW+ Suite subscription albo perpetual; przykładowy link używa 788509-35
Debug Deployment perpetual z pierwszym rokiem service; służy do naprawy wcześniej wdrożonej aplikacji
Runtime pobierany bezpłatnie; nie zapewnia edycji kodu
Community bezpłatny tylko dla osobistych zastosowań niekomercyjnych i nieprzemysłowych

Przy wycenie stanowiska bioprocesowego trzeba oddzielić licencję aplikacji OEM, LabVIEW Development, moduły Real-Time/FPGA/DSC, deployment/debug, sterowniki oraz utrzymanie NI. Sam Runtime może być bezpłatny, choć aplikacja OEM i jej wsparcie pozostają komercyjne.

Pliki do pobrania

Materiał Oficjalny odnośnik Uwagi
LabVIEW Runtime NI Software Downloads wybór wersji, OS i bitowości; starsze wydania mogą wymagać aktywnej subskrypcji/service
pełny LabVIEW LabVIEW Download online installer, offline installer i trial zależnie od konta
Community Edition LabVIEW Community Download 2026 Q3 dla Windows 11/Server 2025/Server 2022/Windows 10 IoT Enterprise 2021
Application Builder Application Builder Module osobny moduł; Professional ma builder w edycji
LabVIEW+ Suite LabVIEW+ Suite Download pakiet obejmujący m.in. TestStand, DIAdem, FlexLogger i InstrumentStudio
tabela Runtime/Development Compatibility Q3 2026 oficjalny arkusz XLSX
konfiguracja bezpieczna LabVIEW Configuration for Secure Applications PDF dla LabVIEW 2024, Base/Full/Professional
aktualizacje bezpieczeństwa NI Security Updates roczne indeksy advisories i poprawek

Mały bootstrapper NI może mieć około 8,59 MB, podczas gdy pełny offline bundle ma wiele gigabajtów; przykładowy LabVIEW+ Suite 2026 Q3 ma 16,2 GB. Wielogigabajtowe instalatory są dostępne pod wersjonowanymi odnośnikami producenta.

Aktualizacje i kontrola wersji

NI Package Manager i NI Update Service dostarczają produkty, sterowniki i poprawki. NI zaleca NI Update Service 2026 Q3 lub nowszy dla bieżących aktualizacji bezpieczeństwa. W środowisku odłączonym paczki należy przenieść jako zweryfikowany offline installer albo zatwierdzony cache/repository.

Minimalny zapis wersji powinien obejmować:

  • LabVIEW/Runtime: rok, Q1/Q3, SP i numer patcha;
  • bitowość;
  • wersję lvrt.dll;
  • wydania NI Package Manager i NI Update Service;
  • wszystkie NI drivers/modules/toolkits;
  • build aplikacji OEM i jej plik INI;
  • obraz oraz wersję targetu Real-Time;
  • wersję FPGA bitfile i projekt, z którego powstał.

Charakter powierzchni CVE

Większość współczesnych podatności LabVIEW wymaga, by użytkownik otworzył przygotowany plik VI, LVLIB albo LVCLASS. Skutkiem może być odczyt poza buforem, zapis poza buforem, use-after-free, ujawnienie informacji lub wykonanie kodu w kontekście procesu LabVIEW. Osobne klasy dotyczą TDMS, DLL hijacking, CLI, ActiveX i usług WWW.

Klasa Przykładowy warunek
parser VI/zasobów otwarcie przygotowanego .vi w podatnej wersji
parser bibliotek/klas otwarcie .lvlib lub .lvclass
TDMS przetworzenie przygotowanego pliku danych
DLL hijacking kontrola katalogu w nieograniczonej ścieżce wyszukiwania
ActiveX wywołanie podatnej metody kontrolki z przygotowanymi parametrami
NI Web Server zdalne żądanie do uruchomionego komponentu
CLI lokalny uwierzytelniony użytkownik i niewłaściwe uprawnienia katalogu instalacyjnego

CVE 2002–2022

Identyfikator Składnik i typ
CVE-2002-0748 LabVIEW Web Server 5.1.1–6.1; DoS przez nietypowe zakończenie żądania HTTP GET
CVE-2013-5021 cwui.ocx; absolute path traversal i zapis/wykonanie pliku przez kontrolki ActiveX
CVE-2013-5022 cw3dgrph.ocx; absolute path traversal w 3D Graph ActiveX
CVE-2013-5023 HelpAsst ActiveX; DoS przez wyświetlenie lokalnego CHM
CVE-2017-2775 LvVariantUnflatten, 64-bit; heap corruption/RCE przy przygotowanym VI
CVE-2017-2779 parser segmentu RSRC; arbitrary null write i potencjalne code execution
CVE-2022-27237 XSS w komponencie NI Web Server instalowanym z LabVIEW i innymi produktami
CVE-2022-42718 niewłaściwe domyślne uprawnienia folderu LabVIEW CLI; lokalne podniesienie uprawnień

CVE 2024

Identyfikatory Typ i zakres
CVE-2024-23608, CVE-2024-23610, CVE-2024-23611 out-of-bounds write przy przygotowanym VI; LabVIEW 2024 Q1 i starsze
CVE-2024-23609, CVE-2024-23612 improper error handling prowadzący do memory corruption/RCE; 2024 Q1 i starsze
CVE-2024-4079 out-of-bounds read i możliwe code execution przy VI; 2024 Q1 i starsze
CVE-2024-4080 improper length check w tdcore.dll, memory corruption; 2024 Q1 i starsze
CVE-2024-4081 memory corruption/out-of-bounds write; 2024 Q1 i starsze
CVE-2024-6638 integer overflow przy odczycie TDMS, infinite loop; 2024 Q1 i starsze
CVE-2024-10494 out-of-bounds read w HeapObjMapImpl.cpp; 2024 Q3 i starsze
CVE-2024-10495 out-of-bounds read podczas ładowania font table w fontmgr.cpp; 2024 Q3 i starsze
CVE-2024-10496 out-of-bounds read w BuildFontMap; 2024 Q3 i starsze

CISA ICSA-24-205-03 grupuje CVE-2024-4079, CVE-2024-4080 i CVE-2024-4081; wszystkie wymagają interakcji użytkownika z przygotowanym VI i dotyczą 24.1f0/2024 Q1 oraz starszych wydań.

CVE 2025

Identyfikatory Typ i zakres
CVE-2025-2629 DLL hijacking przy ładowaniu NI Error Reporting; 2025 Q1 i starsze
CVE-2025-2630 DLL hijacking przez uncontrolled search path; 2025 Q1 i starsze
CVE-2025-2631, CVE-2025-2632 out-of-bounds write podczas obsługi informacji CPU; 2025 Q1 i starsze
CVE-2025-2633 out-of-bounds read w lvre!UDecStrToNum; 2025 Q1 i starsze
CVE-2025-2634 out-of-bounds read w fontmgr; 2025 Q1 i starsze
CVE-2025-7361 code injection przez CIN node; dotyczy 32-bitowego LabVIEW 2025 Q1 i starszego
CVE-2025-7848 memory corruption w lvpict.cpp; przygotowany VI
CVE-2025-7849 memory corruption przy pustym VILinkObj; przygotowany VI
CVE-2025-64461 out-of-bounds write w mgocre_SH_25_3!RevBL()
CVE-2025-64462 out-of-bounds read w LVResFile::RGetMemFileHandle()
CVE-2025-64463 out-of-bounds read w LVResource::DetachResource()
CVE-2025-64464 out-of-bounds read w lvre!VisaWriteFromFile()
CVE-2025-64465 out-of-bounds read w lvre!DataSizeTDR()
CVE-2025-64466 out-of-bounds read w lvre!ExecPostedProcRecPost()
CVE-2025-64467 out-of-bounds read w LVResFile::FindRsrcListEntry()
CVE-2025-64468 use-after-free w sentry!sentry_span_set_data()
CVE-2025-64469 stack-based buffer overflow przy parsowaniu VI

Dziewięć rekordów 64461–64469 dotyczy LabVIEW 2025 Q3 i starszych. NI wskazuje co najmniej 2025 Q3 Patch 3, 2024 Q3 Patch 5, 2023 Q3 Patch 8 albo 2022 Q3 Patch 7 dla tej kampanii. Późniejsze advisories podnoszą minimalne poziomy gałęzi jeszcze wyżej.

CVE 2026

Identyfikatory Typ i zakres
CVE-2026-32860 out-of-bounds write przy ładowaniu przygotowanego .lvlib; 2026 Q1 i starsze
CVE-2026-32861 out-of-bounds write przy ładowaniu przygotowanego .lvclass; 2026 Q1 i starsze
CVE-2026-32862 out-of-bounds write w ResFileFactory::InitResourceMgr()
CVE-2026-32863 out-of-bounds read w sentry_transaction_context_set_operation()
CVE-2026-32864 out-of-bounds read w mgcore_SH_25_3!aligned_free()
CVE-2026-16233 out-of-bounds write w aligned_free(); 2026 Q3 26.3.0 i starsze
CVE-2026-16234 out-of-bounds read w StringUtils Converter
CVE-2026-64201 out-of-bounds read w EnQRunQ
CVE-2026-64202 out-of-bounds read w LVGetFileType
CVE-2026-64203 out-of-bounds read w QualifiedName prepend
CVE-2026-64204 out-of-bounds write przy zwalnianiu TDRefCountedPtr
CVE-2026-18444 signed-to-unsigned conversion i out-of-bounds read przy ładowaniu obrazu
CVE-2026-18445 integer overflow i out-of-bounds write przy przygotowanym VI

Pięć rekordów 32860–32864 naprawiono w 2026 Q1 Patch 1. Sześć rekordów 16233/16234/64201–64204 oraz dwa rekordy 18444/18445 wymagają w bieżącej linii 2026 Q3 Patch 1. Wszystkie opisane w tej grupie scenariusze wymagają otwarcia przygotowanego artefaktu przez użytkownika; nie są zdalnym przejęciem dowolnego Runtime tylko z powodu nasłuchu urządzenia procesowego.

Znaczenie CVE dla Runtime 2018 SP1 D2MS

Host D2MS ma wersję objętą przedziałem „2021 i starsze” w bieżących tabelach wsparcia NI, ale triage wymaga funkcji, nie samej daty. Najważniejsze punkty są następujące:

  • OAJ i loggery są skompilowanymi aplikacjami PE uruchamianymi przez 32-bitowy Runtime;
  • konfiguracje T&J włączają wybrane właściwości VI Server/ActiveX i szerokie reguły Web Server, więc aktywne listenery trzeba zmierzyć;
  • import profili, CSV, XML-owych plików T&J i raportów jest inną ścieżką niż otwieranie edytowalnego VI;
  • funkcje lvre!VisaWriteFromFile, DataSizeTDR i inne elementy runtime wymagają sprawdzenia względem faktycznie osiągalnych operacji aplikacji;
  • aktualizacja samego Runtime musi być zgodna z EXE zbudowanym przez T&J i powinna przejść test aplikacyjny.

Dlatego karta D2MS ma relację do LabVIEW, ale katalog nie dodaje jej automatycznie 51 typów podatności. Wynik oceny powinien wskazywać dokładny build lvrt.dll, załadowane moduły oraz kontrolowane pliki wejściowe.

Dane uwierzytelniające i hasła w artefaktach

Audyt hosta powinien objąć:

Miejsce Dane
plik INI EXE/LabVIEW ustawienia VI Server, Web Server, access lists i ścieżki
NI Web Server użytkownicy, role, privileges, certyfikat i stan początkowego Admin
NI License Manager serial, Computer ID, aktywacje i installed license files
NI VLM server, porty, nilm.opt, grupy, typ licencji i disconnected files
DSC/Shared Variable Engine domena NI, konta, Nobody, alarmy i logging
VI password cache hasła użyte do otwierania chronionych źródeł VI
aplikacja OEM własna baza użytkowników, role operatora, serwisu i administratora

Hasło chroniące block diagram VI zabezpiecza dostęp do źródła i może pozostać w cache sesji; nie jest zamiennikiem kontroli dostępu do funkcji uruchomionej aplikacji.

Backup i odtwarzanie

Jednostką backupu nie jest tylko EXE. Minimalny komplet obejmuje projekt lub source distribution, wszystkie dynamicznie ładowane VI, biblioteki, pliki konfiguracji i danych, instalatory Runtime/driverów, listę pakietów NI, ustawienia NI MAX, certyfikaty, pliki licencji oraz backup bazy aplikacji OEM.

Dla targetu Real-Time potrzebny jest obraz systemu, startup application, konfiguracja sieci i wykaz modułów C Series/FPGA. Odtworzenie na innym modelu targetu może wymagać dodania nowego targetu w projekcie i ponownej kompilacji; nazwa/serial istniejącego targetu może być związana z projektem.

Weryfikacja stanowiska

  1. W NI MAX i filesystemie ustalić wszystkie wersje Runtime, bitowość oraz lvrt.dll.
  2. Zebrać listę produktów z NI Package Manager i usług Windows.
  3. Powiązać procesy EXE z plikami INI, bibliotekami, katalogiem danych i sterownikami.
  4. Zmierzyć porty i wskazać komponent odpowiadający za każdy listener.
  5. Odczytać VI Server Machine/User Access, accessible resources i port.
  6. Odczytać NI Web Server users/roles/privileges, TLS i certyfikaty.
  7. Sprawdzić Computer ID, typ aktywacji, VLM i pliki disconnected license.
  8. Zidentyfikować pliki VI/LVLIB/LVCLASS/TDMS przyjmowane od użytkownika lub z sieci.
  9. Porównać branch i patch z tabelą advisories NI.
  10. Zweryfikować restore aplikacji, bazy i ewentualnego targetu Real-Time na środowisku testowym.

Źródła