CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



GHSA-WF45-3GPW-VRQV

Malicious Rust Crate 'time_calibrators' Exfiltrates Environment Variables

Amit Schendel
Amit Schendel
Senior Security Researcher

Mar 5, 2026·5 min read·8 visits

Executive Summary (TL;DR)

A malicious Rust crate named 'time_calibrators' was discovered on crates.io. It executes a build script to steal '.env' files and sends secrets to a fake 'timeapi.io' domain. Users who installed this crate must immediately rotate all exposed credentials.

The 'time_calibrators' crate, published to the Rust crates.io registry, was identified as a malicious package designed to compromise developer environments. Masquerading as a legitimate time synchronization utility, the package contained code to locate and exfiltrate sensitive credentials stored in '.env' files. The stolen data was transmitted to a remote command-and-control server designed to impersonate the legitimate 'timeapi.io' service. The package was removed within three hours of publication, limiting its spread, but represents a sophisticated supply chain attack linked to the SyncFuture espionage campaign.

Vulnerability Overview

On March 3, 2026, the Rust security team identified and removed a malicious crate named time_calibrators from the crates.io registry. This incident constitutes a Supply Chain Compromise (CWE-506: Embedded Malicious Code), where an attacker publishes a package with a deceptive name to trick developers into installing it. The package purported to be a library for time calibration but served solely as a vehicle for data exfiltration.

The attack surface in this context is the developer's local machine and Continuous Integration (CI) environments. Unlike typical software vulnerabilities that exploit bugs in valid code, this entry represents a deliberate injection of malware into the software dependency tree. The crate leveraged the trust model of the Cargo ecosystem, where dependencies are often pulled automatically based on semantic versioning or direct addition to Cargo.toml.

The primary impact is the complete compromise of development secrets. Because the malware specifically targets .env files—which conventionally store high-value secrets like API keys, database credentials, and service tokens—the potential damage extends beyond the local machine to the cloud infrastructure and third-party services accessed by those credentials.

Technical Analysis: Execution & Discovery

The malware achieves execution persistence and immediate activation through the use of a build.rs script. in the Rust ecosystem, build.rs allows packages to compile non-Rust code or perform system checks before the main package is compiled. This script runs automatically when a developer executes cargo build or cargo check, meaning the victim does not need to run the application or even import the library in their code to trigger the payload.

Upon execution, the malicious code initiates a file system reconnaissance phase (ATT&CK T1083). It recursively searches the project root and parent directories for files named .env. This targeting is specific and intentional, exploiting the common "12-factor app" pattern where configuration is stored in environment files. The code likely utilizes standard Rust file I/O libraries (std::fs, walkdir) to locate these files without raising alerts from standard antivirus software, which may view file reading within a build directory as benign behavior.

The collected data is aggregated into a payload for exfiltration. The use of a build script for this purpose is a known technique in malicious crates because it guarantees execution privileges equal to the user running the build, often bypassing runtime sandboxes or restrictions that might apply to the final compiled binary.

Network Infrastructure & Impersonation

The exfiltration mechanism employs a sophisticated masquerading technique (ATT&CK T1036.005). The malware transmits the stolen .env contents to a command-and-control (C2) server configured to mimic the legitimate service timeapi.io. Analysis indicates the use of look-alike domains such as timeapi[.]co or time-api[.]io. This masquerading serves two purposes: it evades casual inspection of network logs by developers who might expect time-related traffic from a crate named time_calibrators, and it attempts to bypass domain-based firewall rules that might allow traffic to known utility APIs.

The traffic is likely encapsulated in HTTPS POST requests, encrypting the stolen data in transit and preventing network intrusion detection systems (NIDS) from inspecting the payload content. In documented variations of this campaign, the malware includes fallback mechanisms. If the primary exfiltration domain is unreachable, it may attempt to contact other public time services or alternative C2 endpoints to ensure the data is delivered. This resilience indicates a weaponized maturity level, designed for reliability in diverse network environments.

Campaign Context: SyncFuture

Intelligence correlates time_calibrators with the "SyncFuture" espionage campaign. This threat actor is known for targeting developers in specific geographic regions, notably India and China, using a combination of malicious packages and phishing sites. The distinct behavior of impersonating time services is a hallmark of this group's tradecraft.

The SyncFuture campaign often employs a "spray and pray" approach with typosquatting, hoping to catch developers who make typing errors (e.g., typing time_calibrators instead of a legitimate package). However, the specific targeting of .env files suggests an intent to pivot from developer workstations to corporate infrastructure. By stealing cloud credentials (such as AWS_ACCESS_KEY_ID), the attackers aim to gain persistent access to production environments, bypassing the perimeter defenses that usually protect these assets.

Impact Assessment

The successful execution of this malware results in a critical breach of confidentiality. The compromised data typically includes long-lived credentials that grant administrative or privileged access to cloud resources. An attacker in possession of a valid .env file can effectively impersonate the application or the developer, allowing them to steal customer data, inject malicious code into production, or incur financial costs through resource abuse (cryptojacking).

Although the crate was removed within three hours, the "zero reported downloads" metric can be misleading in automated environments. Mirrors, caches, and automated dependency update bots might have propagated the package before its removal. Any system that attempted a build including this crate during the window of availability must be treated as fully compromised. The breach is not contained to the local machine; every service referenced in the stolen environment variables must be considered exposed.

Technical Appendix

CVSS Score
Critical/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N

Affected Systems

Rust Development EnvironmentsCI/CD PipelinesSystems with Rust toolchain installed

Affected Versions Detail

Product
Affected Versions
Fixed Version
time_calibrators
crates.io
*(Removed)
AttributeDetail
Attack VectorNetwork (Supply Chain)
CWECWE-506 (Embedded Malicious Code)
ImpactCritical (Credential Theft)
CVSSCritical (Unassigned)
Exploit StatusWeaponized
CampaignSyncFuture

MITRE ATT&CK Mapping

T1195.001Supply Chain Compromise
Initial Access
T1083File and Directory Discovery
Discovery
T1552.001Credentials in Files
Credential Access
T1036.005Masquerading
Defense Evasion
T1567Exfiltration Over Web Service
Exfiltration
CWE-506
Embedded Malicious Code

The product contains code that appears to be malicious in nature.

Known Exploits & Detection

GitHub AdvisoryAdvisory confirming the malicious behavior and removal.

Vulnerability Timeline

Malicious crate published to crates.io
2026-03-03
Malicious behavior reported by researcher
2026-03-03
Crate removed from crates.io registry
2026-03-03
RUSTSEC-2026-0031 and GHSA-wf45-3gpw-vrqv published
2026-03-04

References & Sources

  • [1]GitHub Advisory GHSA-wf45-3gpw-vrqv
  • [2]RUSTSEC-2026-0031 Advisory
  • [3]SyncFuture Espionage Campaign Analysis

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•10 days ago•CVE-2026-9354
6.9

CVE-2026-9354: Arbitrary Mass Mention Bypass in NousResearch hermes-agent Slack and Mattermost Adapters

A vulnerability in the Slack and Mattermost platform adapters for NousResearch hermes-agent permits an unauthenticated remote attacker to execute arbitrary mass mentions. By leveraging prompt injection, an attacker can bypass output sanitization logic and trigger workspace-wide notification exhaustion.

Alon Barad
Alon Barad
48 views•6 min read
•10 days ago•CVE-2026-9306
6.3

CVE-2026-9306: Unauthenticated Insecure Direct Object Reference (IDOR) in QuantumNous new-api Midjourney Relay

CVE-2026-9306 is a critical unauthenticated Insecure Direct Object Reference (IDOR) vulnerability located in the QuantumNous new-api application, affecting versions up to and including 0.12.1. The flaw is caused by improper middleware ordering combined with a lack of object-level authorization checks. This allows remote, unauthenticated attackers to retrieve sensitive Midjourney images belonging to other users by supplying a valid task identifier.

Amit Schendel
Amit Schendel
24 views•5 min read
•11 days ago•GHSA-GGXF-37HM-9WQF
6.5

GHSA-GGXF-37HM-9WQF: Session Leakage via Unsafe Challenge Path Parsing in instagrapi

The instagrapi library prior to version 2.6.9 contains an improper input validation vulnerability within its challenge handling mechanism. Maliciously crafted server responses can manipulate the client into forwarding session cookies and credentials to an external attacker-controlled domain.

Amit Schendel
Amit Schendel
27 views•6 min read
•11 days ago•GHSA-QQQM-5547-774X
9.1

GHSA-QQQM-5547-774X: Unauthenticated Path Traversal in FileBrowser Quantum PATCH Handler

GHSA-QQQM-5547-774X is a critical path traversal vulnerability in the FileBrowser Quantum application, specifically within the Go backend package. The vulnerability resides in the HTTP handler responsible for processing bulk file modifications via the public API. Unauthenticated attackers can exploit an order-of-operations flaw in the path sanitization logic to bypass intended directory restrictions. This allows adversaries to arbitrarily read, move, and overwrite files on the underlying filesystem by supplying specially crafted HTTP PATCH requests.

Alon Barad
Alon Barad
18 views•6 min read
•11 days ago•CVE-2026-8723
5.3

CVE-2026-8723: Synchronous Denial of Service in qs npm Package via TypeError

The qs query string parsing and serialization library for Node.js is vulnerable to a synchronous Denial of Service (DoS) attack. The vulnerability manifests as a process-terminating TypeError when processing arrays with null or undefined elements under specific configuration parameters.

Amit Schendel
Amit Schendel
44 views•7 min read
•11 days ago•GHSA-7M8F-HGJQ-8GC9
7.5

GHSA-7M8F-HGJQ-8GC9: Pre-Authentication Denial of Service via Insecure Deserialization Order in aiosend

The aiosend library prior to version 3.0.6 contains a pre-authentication Denial of Service (DoS) vulnerability in its webhook handling mechanism. The software processes and deserializes incoming JSON payloads before verifying the cryptographic signature, allowing unauthenticated attackers to exhaust server CPU and memory resources by sending large, complex payloads.

Amit Schendel
Amit Schendel
5 views•6 min read