{"id":"MAL-2026-17317","revision":"a1cf57a41d044e4c95da91dec73fa092","records":[{"revision":"a1cf57a41d044e4c95da91dec73fa092","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"MAL-2026-17317","aliases":[],"title":"Malicious code in booking-tasks (npm)","description":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (08305a6c73bd94f2983c949316cb78fef7f7169f85523a773c94fb305874e063)\nThe package's package.json declares a postinstall hook `wscript.exe 4444.vbs` that fires automatically on `npm install`. The bundled 4444.vbs contains hand-rolled AES-128 (with XOR-masked forward/inverse S-boxes), a ChaCha20-IETF stream, XOR-masked SHA-256 round constants, a Base64 decoder via MSXML DOM, and a chunked Base64 ciphertext blob (ArtifactBundleHX, ~665 chunks). At install time the VBScript decrypts these chunks into a PowerShell loader, writes it to %TEMP%\\pf<rand>.dat, and hands it to powershell.exe for process hollowing, giving the publisher arbitrary code execution on the installer's Windows host. The shipped library surface (src/index.js) is a small Zod-validated `checkEligibility()` function that never references 4444.vbs, and readme.md states 'No network requests. No personal data storage. No installation scripts.' — a direct contradiction of the declared postinstall hook, indicating the source module is a decoy for the dropper. The multi-primitive crypto and chunked-Base64 encoding of the payload serve only to hide executable content from static inspection.\n","state":0,"publishedAt":"2026-09-30T03:05:04+00:00","modifiedAt":"2026-09-30T03:30:04.9710999+00:00","affected":[{"ecosystem":"npm","name":"booking-tasks","ranges":[],"versions":["1.0.2"],"rawVersionEvidence":null}],"metrics":[],"references":["https://www.npmjs.com/package/booking-tasks/v/1.0.2"],"sourceUrl":"https://osv.dev/vulnerability/MAL-2026-17317","license":"OSV · upstream source license applies","key":"osv:MAL-2026-17317","identifiers":["MAL-2026-17317"]},"retained":false,"historicalAffected":[]}],"coverage":[]}