Releases: prey/prey-node-client
Release list
v1.13.36
v1.13.36 (2026-06-19)
-
Fix: Fixed an issue where the
X-Prey-StatusHTTP header could contain invalid characters (such as newlines) that violated RFC 7230, causing request failures when device status data included special characters. (SoraKenji) -
Fix: Fixed the hostname trigger incorrectly firing a
device_renamedevent when location data (a JSON object) was stored as the hostname value in the local database, causing spurious rename notifications to the control panel. (SoraKenji) -
Fix: Fixed edge cases in the Windows lock action where Task Manager windows opened during the lock session were not properly closed on unlock. (SoraKenji)
-
Fix: Removed an empty registry key created during installation that caused errors with the unattended (silent) installer on Windows. (SoraKenji)
-
Fix: Upgraded node-forge to 1.4.0 to address CVE-2026-33896 (BasicConstraints bypass vulnerability). (SoraKenji)
-
Fix: Upgraded underscore to 1.13.8 to address a Denial of Service vulnerability in the
flattenfunction. (SoraKenji) -
Fix: Upgraded minimatch to address a ReDoS (Regular Expression Denial of Service) vulnerability (GHSA-3ppc-4f35-3m26). (SoraKenji)
-
Fix: Upgraded plist to 3.1.1 to address a CVE in the bundled @xmldom/xmldom dependency. (SoraKenji)
-
Fix: New Windows Prey Lock guarding edge cases and solving focus on textbox issues. (SoraKenji)
-
Chore: Updated bundled Windows executables: Fenix 1.0.8, WpxSvc 2.0.34, and Updater 1.0.8. (SoraKenji)
-
Fix: Ensured the SQLite database connection is properly closed after every storage operation (
set,del,update,all,query) and that initialization errors are propagated to callers, preventing connection leaks. (SoraKenji) -
Fix: Replaced the
firewallnpm dependency with direct Windows API calls via the newwinsvcmodule for managing firewall rules, with multi-level fallback (winsvc HTTP → CLI → PowerShell). Registryset/deloperations also now prefer the Windows API withreg.exefallback. (SoraKenji) -
Fix: Registry keys are now cleaned up during full uninstallation (
pre_uninstall), not only during dedicated cleanup tasks. (SoraKenji) -
Fix: Fixed the Windows anchor location storage to perform an upsert (update if already exists) instead of silently failing on duplicate entries. Invalid cached locations are now cleared on load. (SoraKenji)
-
Fix: Fixed two connection leak edge cases in the storage layer:
storage_fns.allandstorage_fns.querywere closing the SQLite connection on the success path but not on error paths. Also fixed a null dereference crash when the underlyingdbComm.allcallback returned(null, null), causing aTypeErrorreadingerr.codeon a null value. (SoraKenji) -
Fix: Fixed a double-callback and uncaught exception risk in the Wi-Fi geo location strategy: when the server returned HTTP 429 (rate limit), execution fell through to a second
checkResponsecall after the cache-query block completed, and acatchblock was usingthrowinside an async callback instead of calling back with the error. (SoraKenji) -
Fix: Fixed a double-callback during
post_installon Windows where bothsetUpVersionandprey_user.createwere invoked with the samereadycallback, causing it to fire twice. (SoraKenji) -
Fix: Fixed the Windows service version cache permanently storing
nullon a failed first attempt, preventing retries when the service binary was not yet present on disk. (SoraKenji) -
Fix: Fixed command injection in the
registry.jsreg.exefallback:path,key, andvalueparameters were unquoted in the shell exec string, allowing values with spaces or metacharacters to break the command or inject additional shell instructions. (SoraKenji) -
Fix: Added NaN guards before
process.kill()calls inutilinformation.js,tasks/os/windows.js, andpanel/index.js: a corrupt or empty pidfile returningNaNfromparseIntwas passed directly toprocess.kill, causing unpredictable behavior. (SoraKenji) -
Fix: Fixed
force_new_configon Unix silently issuingkill -9 undefinedwhenclient_pidreturned an error: a missingreturncaused execution to continue past the error log and schedule the kill command with an undefined PID. (SoraKenji) -
Fix: Converted
edr_log.jsto a no-op module, removing synchronousfs.appendFileSyncdisk writes from production code paths. (SoraKenji) -
Fix: Improved the hostname JSON guard to apply
.trim()before checking the first character, preventing bypass when a stored hostname value has leading whitespace. (SoraKenji)
v1.13.35
v1.13.35 (2026-06-05)
-
Fix: Fixed a crash in the Wi-Fi location strategy where a server-side body error response was incorrectly propagated as a null callback argument, causing callers to receive an undefined result and crash on property access (
lat,accuracy). (SoraKenji) -
Fix: Fixed coordinate validation in the location trigger to accept
lat/lngvalues returned as strings by the geo provider, parsing and validating them against valid geographic ranges instead of rejecting them outright. (SoraKenji)
v1.13.34
v1.13.34 (2026-05-20)
-
Fix: Fixed a crash in hardware data collection where
os.cpus()returning an empty array or undefined values in virtualized environments caused an unhandled TypeError. The agent now returns safe defaults instead. (SoraKenji) -
Fix: Fixed a crash on Windows where the Wi-Fi location strategy could return coordinates in a raw API format instead of the expected processed format, causing
coords.lng.toString()to fail. Also fixed a related issue wherelng=0(prime meridian) was incorrectly treated as a missing value due to use of||instead of??. (SoraKenji)
v1.13.33
v1.13.32
v1.13.32 (2026-04-30)
-
Feat: New Windows location orchestration system that coordinates native and Wi-Fi location sources, with periodic validation and persistent recovery across restarts. (SoraKenji)
-
Feat: Disk encryption data is now only collected and reported when the control panel explicitly requests it via backend configuration. (SoraKenji)
-
Fix: Fixed a bug where a missing Wi-Fi location would cause the location strategy to fail entirely instead of falling back gracefully. (SoraKenji)
-
Fix: New MacSVC 1.0.9 with a fix for screenshot capture on macOS. (SoraKenji)
-
Fix: New WinSVC 2.0.33. (SoraKenji)
-
Fix: On Windows, the native location source is now restricted to WinRT only, improving reliability by avoiding incompatible sources. (SoraKenji)
-
Fix: Windows location orchestrator now uses a finer-grained change verification strategy instead of a broad jump-detection threshold, reducing false location updates. (SoraKenji)
-
Fix: Increased the native location accuracy threshold from 100 to 200 meters for better location acceptance on Windows. (SoraKenji)
-
Fix: The lock action on Windows now correctly restores the taskbar and re-applies the lock when a Fast User Switch occurs. (SoraKenji)
-
Fix: The unlock password is now masked in WebSocket communication logs to avoid exposing it. (SoraKenji)
-
Fix: WebSocket reconnection backoff maximum wait time was reduced to 2 minutes to recover faster after connectivity issues. (SoraKenji)
-
Fix: Added timeouts to system calls (PowerShell/exec) to prevent the agent from blocking indefinitely when a command hangs. (SoraKenji)
-
Fix: Prevents report gathering from stacking up when the agent is under degraded conditions (slow storage or hanging commands). (SoraKenji)
-
Fix: Fixed a border case where multiple simultaneous timers could open more than one WebSocket connection for the same device. (SoraKenji)
-
Fix: Fixed an error that caused the alarm action to fail silently when the device session was inactive. (SoraKenji)