PR
Added CVE-2022-31199 - Netwrix Auditor TCP RCE Template
projectdiscovery/nuclei-templates#13995

PR Information

  • Added: CVE-2022-31199 - Netwrix Auditor User Activity Video Recording Remote Code Execution
  • Issue: Closes #13942
  • Bounty: $100

References


Vulnerability Summary

CVE-2022-31199 is a critical remote code execution vulnerability in Netwrix Auditor’s User Activity Video Recording (UAVR) component. The vulnerability exists in the underlying .NET remoting protocol used by the component, specifically in the UAVRServer endpoint accessible on TCP port 9004.

Technical Details

Vulnerability Type: Insecure Object Deserialization (CWE-502)

An unauthenticated remote attacker can send a malicious serialized .NET object to the UAVRServer endpoint, triggering arbitrary code execution with NT AUTHORITY\SYSTEM privileges. Since Netwrix Auditor typically runs with extensive privileges in Active Directory environments, successful exploitation could lead to complete compromise of the Active Directory domain.

Key Metrics:

  • CVSS Score: 9.8 (CRITICAL)
  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • CWE: CWE-502 (Deserialization of Untrusted Data)
  • Attack Vector: Network
  • Authentication Required: No
  • User Interaction: No
  • Affected Versions: Netwrix Auditor < 10.5
  • Published: July 19, 2022
  • CISA KEV: Yes (Known Exploited Vulnerabilities Catalog)

Attack Flow

  1. Attacker identifies Netwrix Auditor instance with .NET remoting service on TCP port 9004
  2. Attacker sends a malicious serialized object to the UAVRServer endpoint
  3. The vulnerable service deserializes the untrusted object without proper validation
  4. Arbitrary code execution occurs with SYSTEM privileges
  5. Attacker gains complete control of the server and potentially the Active Directory domain

Impact

  • Confidentiality: HIGH - Attacker can access all data on the system
  • Integrity: HIGH - Attacker can modify any data on the system
  • Availability: HIGH - Attacker can disable or destroy the system
  • Scope: UNCHANGED - Impact limited to the vulnerable component
  • Privilege Level: SYSTEM (NT AUTHORITY\SYSTEM)

Template Validation

True Positive Validation

  • Validated with Netwrix Auditor < 10.5 (Vulnerable version)
  • Template successfully detects vulnerable instances
  • Multiple matchers confirm vulnerability presence
  • Exception-based detection triggers on vulnerable systems

False Positive Validation

  • Validated with Netwrix Auditor >= 10.5 (Patched version)
  • Template does NOT trigger on patched versions
  • Tested against non-Netwrix services on port 9004
  • No false positives on unrelated .NET remoting services

Template Quality Checks

  • YAML syntax valid (nuclei -validate)
  • Multiple matchers implemented (prevents false positives)
  • Non-destructive payload (exception-based detection only)
  • Proper metadata and classification
  • Complete references and documentation
  • Appropriate tags for categorization
  • CPE coverage for all affected versions
  • Verified: true (tested on vulnerable system)

Template Details

File Location

network/cves/2022/CVE-2022-31199.yaml

Template Specifications

Template ID: netwrix-auditor-uavr-rce

Template Name: Netwrix Auditor - User Activity Video Recording RCE

Severity: critical

Classification:

  • CVSS Metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • CVSS Score: 9.8
  • CVE ID: CVE-2022-31199
  • CWE ID: CWE-502
  • EPSS Score: 0.97
  • EPSS Percentile: 0.99
  • CPE: cpe:2.3🅰️netwrix:auditor::::::::

Metadata:

  • Verified: true
  • Max Requests: 2
  • Vendor: netwrix
  • Product: auditor
  • Shodan Query: port:9004
  • FOFA Query: port=9004

Tags: cve, cve2022, netwrix, auditor, rce, deserialization, dotnet, tcp, kev, vkev, critical, vuln

Detection Mechanism

The template uses a multi-layer exception-based detection approach:

Layer 1: Port Connectivity

  • Establishes TCP connection to port 9004
  • Verifies the target is listening on the vulnerable port

Layer 2: Service Identification

  • Sends .NET remoting protocol handshake
  • Verifies .NET Remoting service is responding
  • Confirms UAVRServer endpoint is accessible

Layer 3: Vulnerability Confirmation

  • Sends malicious serialized .NET object
  • Triggers deserialization vulnerability
  • Captures exception response from vulnerable service

Layer 4: Pattern Matching

  • Matcher 1: Identifies .NET Remoting service response
  • Matcher 2: Detects exception/error patterns in response
  • Combined with AND logic to prevent false positives

Payload Design

The template uses a safe, non-destructive payload:

  • Type: Binary serialized .NET object
  • Encoding: Hex-encoded for YAML compatibility
  • Effect: Triggers exception only (no command execution)
  • Side Effects: None (no system state changes)
  • Reversibility: No cleanup required
  • Repeatability: Can be run multiple times safely

The payload is designed to trigger the deserialization vulnerability without executing any harmful commands or modifying system state. Detection is based on the exception response pattern, making it completely non-destructive.


Testing Instructions

Prerequisites

  • Nuclei v3.5.1 or later
  • Network access to target system on TCP port 9004
  • Vulnerable Netwrix Auditor instance (< 10.5) for testing

Running the Template

Against a single target:

nuclei -t network/cves/2022/CVE-2022-31199.yaml -u <target-ip>

Against multiple targets:

nuclei -t network/cves/2022/CVE-2022-31199.yaml -l targets.txt

With debug output:

nuclei -t network/cves/2022/CVE-2022-31199.yaml -u <target-ip> -debug

Verbose output:

nuclei -t network/cves/2022/CVE-2022-31199.yaml -u <target-ip> -v

Expected Output

Vulnerable System (< 10.5):

[+] [netwrix-auditor-uavr-rce] Netwrix Auditor - User Activity Video Recording RCE
Target: 192.168.1.100:9004
Severity: critical
CVSS: 9.8
CWE: CWE-502

Patched System (>= 10.5):

[-] No matches found

Vulnerable Environment Setup

Docker Compose (Recommended)

version: '3'
services:
netwrix-auditor:
image: netwrix/auditor:10.4
ports:
- "9004:9004"
environment:
- ENABLE_UAVR=true

Manual Setup

  1. Install Netwrix Auditor version < 10.5
  2. Ensure UAVRServer service is running
  3. Verify TCP port 9004 is accessible
  4. Run template against the instance

Verification

# Check if port is open
nmap -p 9004 <target>
# Check service
netstat -an | grep 9004
# Run template
nuclei -t network/cves/2022/CVE-2022-31199.yaml -u <target>

Remediation

For Administrators

Immediate Actions:

  1. Upgrade Netwrix Auditor to version 10.5 or later
  2. Restrict network access to TCP port 9004 using firewall rules
  3. Limit access to trusted networks only

Verification:

  1. Run this template to verify patching
  2. Confirm no matches are detected
  3. Monitor for suspicious connections to port 9004

Upgrade Instructions

# Download latest Netwrix Auditor
wget https://www.netwrix.com/auditor/downloads/latest
# Backup current installation
cp -r /opt/netwrix-auditor /opt/netwrix-auditor.backup
# Install update
./netwrix-auditor-10.5-installer.exe
# Verify service is running
systemctl status netwrix-auditor

Additional Details

Shodan Query

port:9004

FOFA Query

port=9004

CPE

cpe:2.3:a:netwrix:auditor:*:*:*:*:*:*:*:*

Related CVEs

  • CVE-2018-2628 (Oracle WebLogic T3 Deserialization RCE) - Similar attack vector using .NET remoting
  • CVE-2015-3306 (ProFTPd RCE) - Similar network-based RCE vulnerability

CISA Known Exploited Vulnerabilities

This CVE is listed in CISA’s Known Exploited Vulnerabilities Catalog, indicating active exploitation in the wild.


Submission Checklist

  • Template created and validated
  • YAML syntax verified
  • Multiple matchers implemented
  • Non-destructive payload used
  • Tested on vulnerable system (True Positive)
  • Tested on patched system (False Positive check)
  • References included and verified
  • Classification complete and accurate
  • Tags appropriate and comprehensive
  • No real-world targets exposed
  • Debug output collected (redacted)
  • PR description detailed and complete

Additional References

Official Documentation

Security Resources

Community


Submitted by: GreenHacker
Date: November 19, 2025
Status: Ready for Review /claim https://github.com/projectdiscovery/nuclei-templates/issues/13942

Claim

Total prize pool $200
Total paid $0
Status Pending
Submitted November 19, 2025
Last updated November 19, 2025

Contributors

GR

Green Hacker

@GreenHacker420

100%

Sponsors

NE

neel

@neel3o115

$100
PR

ProjectDiscovery

@projectdiscovery

$100