samlify 2.11.0 → 2.12.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.
- package/.circleci/config.yml +8 -8
- package/build/src/api.js +12 -1
- package/build/src/api.js.map +1 -1
- package/build/src/extractor.js +5 -8
- package/build/src/extractor.js.map +1 -1
- package/build/src/libsaml.js +7 -6
- package/build/src/libsaml.js.map +1 -1
- package/build/src/utility.js +27 -0
- package/build/src/utility.js.map +1 -1
- package/package.json +2 -3
- package/samlify-2.11.0.tgz +0 -0
- package/src/api.ts +13 -1
- package/src/extractor.ts +6 -6
- package/src/libsaml.ts +8 -6
- package/src/utility.ts +28 -0
- package/types/src/utility.d.ts +6 -0
package/.circleci/config.yml
CHANGED
|
@@ -3,13 +3,13 @@ version: 2.1
|
|
|
3
3
|
jobs:
|
|
4
4
|
test-node-20:
|
|
5
5
|
docker:
|
|
6
|
-
- image: cimg/node:20.
|
|
6
|
+
- image: cimg/node:20.19
|
|
7
7
|
environment:
|
|
8
8
|
INSTALL_JDK: 1
|
|
9
9
|
steps:
|
|
10
10
|
- checkout
|
|
11
11
|
- run:
|
|
12
|
-
name: Install Java JDK
|
|
12
|
+
name: Install Java JDK 21
|
|
13
13
|
command: |
|
|
14
14
|
sudo apt-get update
|
|
15
15
|
sudo apt-get install -y wget lsb-release
|
|
@@ -17,7 +17,7 @@ jobs:
|
|
|
17
17
|
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo tee /etc/apt/keyrings/adoptium.asc
|
|
18
18
|
echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
|
|
19
19
|
sudo apt-get update
|
|
20
|
-
sudo apt-get install -y temurin-
|
|
20
|
+
sudo apt-get install -y temurin-21-jdk
|
|
21
21
|
java -version
|
|
22
22
|
javac -version
|
|
23
23
|
- run:
|
|
@@ -32,13 +32,13 @@ jobs:
|
|
|
32
32
|
|
|
33
33
|
test-node-22:
|
|
34
34
|
docker:
|
|
35
|
-
- image: cimg/node:22.
|
|
35
|
+
- image: cimg/node:22.12
|
|
36
36
|
environment:
|
|
37
37
|
INSTALL_JDK: 1
|
|
38
38
|
steps:
|
|
39
39
|
- checkout
|
|
40
40
|
- run:
|
|
41
|
-
name: Install Java JDK
|
|
41
|
+
name: Install Java JDK 21
|
|
42
42
|
command: |
|
|
43
43
|
sudo apt-get update
|
|
44
44
|
sudo apt-get install -y wget lsb-release
|
|
@@ -46,7 +46,7 @@ jobs:
|
|
|
46
46
|
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo tee /etc/apt/keyrings/adoptium.asc
|
|
47
47
|
echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
|
|
48
48
|
sudo apt-get update
|
|
49
|
-
sudo apt-get install -y temurin-
|
|
49
|
+
sudo apt-get install -y temurin-21-jdk
|
|
50
50
|
java -version
|
|
51
51
|
javac -version
|
|
52
52
|
- run:
|
|
@@ -67,7 +67,7 @@ jobs:
|
|
|
67
67
|
steps:
|
|
68
68
|
- checkout
|
|
69
69
|
- run:
|
|
70
|
-
name: Install Java JDK
|
|
70
|
+
name: Install Java JDK 21
|
|
71
71
|
command: |
|
|
72
72
|
sudo apt-get update
|
|
73
73
|
sudo apt-get install -y wget lsb-release
|
|
@@ -75,7 +75,7 @@ jobs:
|
|
|
75
75
|
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo tee /etc/apt/keyrings/adoptium.asc
|
|
76
76
|
echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
|
|
77
77
|
sudo apt-get update
|
|
78
|
-
sudo apt-get install -y temurin-
|
|
78
|
+
sudo apt-get install -y temurin-21-jdk
|
|
79
79
|
java -version
|
|
80
80
|
javac -version
|
|
81
81
|
- run:
|
package/build/src/api.js
CHANGED
|
@@ -4,9 +4,20 @@ exports.getContext = getContext;
|
|
|
4
4
|
exports.setSchemaValidator = setSchemaValidator;
|
|
5
5
|
exports.setDOMParserOptions = setDOMParserOptions;
|
|
6
6
|
var xmldom_1 = require("@xmldom/xmldom");
|
|
7
|
+
var XXE_SAFE_OPTIONS = {
|
|
8
|
+
/**
|
|
9
|
+
* Treat XML parsing errors as fatal to prevent XXE attacks.
|
|
10
|
+
* Entity references (e.g. &xxe;) and malformed XML in SAML messages
|
|
11
|
+
* are not expected and may indicate an attack attempt.
|
|
12
|
+
*/
|
|
13
|
+
errorHandler: {
|
|
14
|
+
error: function (msg) { throw new Error("XML parsing error: ".concat(msg)); },
|
|
15
|
+
fatalError: function (msg) { throw new Error("XML fatal error: ".concat(msg)); },
|
|
16
|
+
},
|
|
17
|
+
};
|
|
7
18
|
var context = {
|
|
8
19
|
validate: undefined,
|
|
9
|
-
dom: new xmldom_1.DOMParser()
|
|
20
|
+
dom: new xmldom_1.DOMParser(XXE_SAFE_OPTIONS)
|
|
10
21
|
};
|
|
11
22
|
function getContext() {
|
|
12
23
|
return context;
|
package/build/src/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":";;AA8BA,gCAEC;AAED,gDASC;AAED,kDAEC;AA/CD,yCAA+E;AAa/E,IAAM,gBAAgB,GAAqB;IACzC;;;;OAIG;IACH,YAAY,EAAE;QACZ,KAAK,EAAE,UAAC,GAAW,IAAO,MAAM,IAAI,KAAK,CAAC,6BAAsB,GAAG,CAAE,CAAC,CAAC,CAAC,CAAC;QACzE,UAAU,EAAE,UAAC,GAAW,IAAO,MAAM,IAAI,KAAK,CAAC,2BAAoB,GAAG,CAAE,CAAC,CAAC,CAAC,CAAC;KAC7E;CACF,CAAC;AAEF,IAAM,OAAO,GAAY;IACvB,QAAQ,EAAE,SAAS;IACnB,GAAG,EAAE,IAAI,kBAAG,CAAC,gBAAgB,CAAC;CAC/B,CAAC;AAEF,SAAgB,UAAU;IACxB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAwB;IAEzD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAErC,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAA8B;IAA9B,wBAAA,EAAA,YAA8B;IAChE,OAAO,CAAC,GAAG,GAAG,IAAI,kBAAG,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC"}
|
package/build/src/extractor.js
CHANGED
|
@@ -10,9 +10,6 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
14
|
exports.logoutResponseFields = exports.logoutRequestFields = exports.loginResponseFields = exports.logoutResponseStatusFields = exports.loginResponseStatusFields = exports.loginRequestFields = void 0;
|
|
18
15
|
exports.extract = extract;
|
|
@@ -26,17 +23,17 @@ function toNodeArray(result) {
|
|
|
26
23
|
return [];
|
|
27
24
|
}
|
|
28
25
|
var api_1 = require("./api");
|
|
29
|
-
var
|
|
26
|
+
var utility_2 = require("./utility");
|
|
30
27
|
function buildAbsoluteXPath(paths) {
|
|
31
28
|
return paths.reduce(function (currentPath, name) {
|
|
32
29
|
var appendedPath = currentPath;
|
|
33
30
|
var isWildcard = name.startsWith('~');
|
|
34
31
|
if (isWildcard) {
|
|
35
32
|
var pathName = name.replace('~', '');
|
|
36
|
-
appendedPath = currentPath + "/*[contains(local-name(),
|
|
33
|
+
appendedPath = currentPath + "/*[contains(local-name(), ".concat((0, utility_1.escapeXPathValue)(pathName), ")]");
|
|
37
34
|
}
|
|
38
35
|
if (!isWildcard) {
|
|
39
|
-
appendedPath = currentPath + "/*[local-name(.)=
|
|
36
|
+
appendedPath = currentPath + "/*[local-name(.)=".concat((0, utility_1.escapeXPathValue)(name), "]");
|
|
40
37
|
}
|
|
41
38
|
return appendedPath;
|
|
42
39
|
}, '');
|
|
@@ -48,7 +45,7 @@ function buildAttributeXPath(attributes) {
|
|
|
48
45
|
if (attributes.length === 1) {
|
|
49
46
|
return "/@".concat(attributes[0]);
|
|
50
47
|
}
|
|
51
|
-
var filters = attributes.map(function (attribute) { return "name()=
|
|
48
|
+
var filters = attributes.map(function (attribute) { return "name()=".concat((0, utility_1.escapeXPathValue)(attribute)); }).join(' or ');
|
|
52
49
|
return "/@*[".concat(filters, "]");
|
|
53
50
|
}
|
|
54
51
|
exports.loginRequestFields = [
|
|
@@ -324,7 +321,7 @@ function extract(context, fields) {
|
|
|
324
321
|
var attributeValues = baseNode.map(function (node) {
|
|
325
322
|
var nodeDoc = dom.parseFromString(node);
|
|
326
323
|
var values = toNodeArray((0, xpath_1.select)(childXPath_1, nodeDoc)).reduce(function (r, n) {
|
|
327
|
-
r[(0,
|
|
324
|
+
r[(0, utility_2.camelCase)(n.name)] = n.value;
|
|
328
325
|
return r;
|
|
329
326
|
}, {});
|
|
330
327
|
return values;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractor.js","sourceRoot":"","sources":["../../src/extractor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extractor.js","sourceRoot":"","sources":["../../src/extractor.ts"],"names":[],"mappings":"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"}
|
package/build/src/libsaml.js
CHANGED
|
@@ -101,11 +101,10 @@ function toNodeArray(result) {
|
|
|
101
101
|
var node_rsa_1 = __importDefault(require("node-rsa"));
|
|
102
102
|
var xml_crypto_1 = require("xml-crypto");
|
|
103
103
|
var xmlenc = __importStar(require("@authenio/xml-encryption"));
|
|
104
|
-
var
|
|
104
|
+
var utility_2 = require("./utility");
|
|
105
105
|
var api_1 = require("./api");
|
|
106
106
|
var xml_escape_1 = __importDefault(require("xml-escape"));
|
|
107
107
|
var fs = __importStar(require("fs"));
|
|
108
|
-
var xmldom_1 = require("@xmldom/xmldom");
|
|
109
108
|
var signatureAlgorithms = urn_1.algorithms.signature;
|
|
110
109
|
var digestAlgorithms = urn_1.algorithms.digest;
|
|
111
110
|
var certUse = urn_1.wording.certUse;
|
|
@@ -212,9 +211,10 @@ var libSaml = function () {
|
|
|
212
211
|
*/
|
|
213
212
|
function createXPath(local, isExtractAll) {
|
|
214
213
|
if ((0, utility_1.isString)(local)) {
|
|
215
|
-
|
|
214
|
+
var escaped = (0, utility_1.escapeXPathValue)(local);
|
|
215
|
+
return isExtractAll === true ? "//*[local-name(.)=" + escaped + "]/text()" : "//*[local-name(.)=" + escaped + "]";
|
|
216
216
|
}
|
|
217
|
-
return "//*[local-name(.)=
|
|
217
|
+
return "//*[local-name(.)=" + (0, utility_1.escapeXPathValue)(local.name) + "]/@" + local.attr;
|
|
218
218
|
}
|
|
219
219
|
/**
|
|
220
220
|
* @private
|
|
@@ -224,7 +224,7 @@ var libSaml = function () {
|
|
|
224
224
|
* @return {string}
|
|
225
225
|
*/
|
|
226
226
|
function tagging(prefix, content) {
|
|
227
|
-
var camelContent = (0,
|
|
227
|
+
var camelContent = (0, utility_2.camelCase)(content);
|
|
228
228
|
return prefix + camelContent.charAt(0).toUpperCase() + camelContent.slice(1);
|
|
229
229
|
}
|
|
230
230
|
function escapeTag(replacement) {
|
|
@@ -340,7 +340,8 @@ var libSaml = function () {
|
|
|
340
340
|
var _b;
|
|
341
341
|
var dom = (0, api_1.getContext)().dom;
|
|
342
342
|
var doc = dom.parseFromString(xml);
|
|
343
|
-
var
|
|
343
|
+
var contextDom = (0, api_1.getContext)().dom;
|
|
344
|
+
var docParser = contextDom;
|
|
344
345
|
// In order to avoid the wrapping attack, we have changed to use absolute xpath instead of naively fetching the signature element
|
|
345
346
|
// message signature (logout response / saml response)
|
|
346
347
|
var messageSignatureXpath = "/*[contains(local-name(), 'Response') or contains(local-name(), 'Request')]/*[local-name(.)='Signature']";
|
package/build/src/libsaml.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libsaml.js","sourceRoot":"","sources":["../../src/libsaml.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"libsaml.js","sourceRoot":"","sources":["../../src/libsaml.ts"],"names":[],"mappings":"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"}
|
package/build/src/utility.js
CHANGED
|
@@ -37,6 +37,8 @@ exports.readPrivateKey = readPrivateKey;
|
|
|
37
37
|
exports.isNonEmptyArray = isNonEmptyArray;
|
|
38
38
|
exports.castArrayOpt = castArrayOpt;
|
|
39
39
|
exports.notEmpty = notEmpty;
|
|
40
|
+
exports.escapeXPathValue = escapeXPathValue;
|
|
41
|
+
exports.camelCase = camelCase;
|
|
40
42
|
/**
|
|
41
43
|
* @file utility.ts
|
|
42
44
|
* @author tngan
|
|
@@ -245,6 +247,31 @@ function castArrayOpt(a) {
|
|
|
245
247
|
function notEmpty(value) {
|
|
246
248
|
return value !== null && value !== undefined;
|
|
247
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* @desc Escape a string for safe use inside an XPath single-quoted string literal.
|
|
252
|
+
* Prevents XPath injection by splitting on single quotes and using concat().
|
|
253
|
+
*/
|
|
254
|
+
function escapeXPathValue(value) {
|
|
255
|
+
if (!value.includes("'")) {
|
|
256
|
+
return "'" + value + "'";
|
|
257
|
+
}
|
|
258
|
+
// Use XPath concat() to safely handle strings containing single quotes
|
|
259
|
+
var parts = value.split("'").map(function (part) { return "'" + part + "'"; });
|
|
260
|
+
return 'concat(' + parts.join(",\"'\",") + ')';
|
|
261
|
+
}
|
|
262
|
+
function camelCase(input) {
|
|
263
|
+
var words = input
|
|
264
|
+
.replace(/([a-z\d])([A-Z])/g, '$1\0$2')
|
|
265
|
+
.replace(/([A-Z]+)([A-Z][a-z])/g, '$1\0$2')
|
|
266
|
+
.split(/[\0\s\-_\.]+/)
|
|
267
|
+
.filter(function (w) { return w.length > 0; });
|
|
268
|
+
return words
|
|
269
|
+
.map(function (word, i) {
|
|
270
|
+
var lower = word.toLocaleLowerCase('en-US');
|
|
271
|
+
return i === 0 ? lower : lower.charAt(0).toLocaleUpperCase('en-US') + lower.slice(1);
|
|
272
|
+
})
|
|
273
|
+
.join('');
|
|
274
|
+
}
|
|
248
275
|
var utility = {
|
|
249
276
|
isString: isString,
|
|
250
277
|
base64Encode: base64Encode,
|
package/build/src/utility.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../src/utility.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,8BAmBC;AAMD,kCAIC;AAMD,oBAEC;AAMD,oBAGC;AAQD,kBAGC;AAKD,4BAEC;AAeD,oCAGC;AAeD,sCAGC;AAoED,wCAOC;AAUD,0CAEC;AAED,oCAGC;AAED,4BAEC;
|
|
1
|
+
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../src/utility.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "samlify",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.12.0",
|
|
4
4
|
"description": "Node.js library for SAML SSO",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"keywords": [
|
|
@@ -36,7 +36,6 @@
|
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@authenio/xml-encryption": "^2.0.2",
|
|
38
38
|
"@xmldom/xmldom": "^0.8.11",
|
|
39
|
-
"camelcase": "^9.0.0",
|
|
40
39
|
"node-rsa": "^1.1.1",
|
|
41
40
|
"xml": "^1.0.1",
|
|
42
41
|
"xml-crypto": "^6.1.2",
|
|
@@ -58,6 +57,6 @@
|
|
|
58
57
|
"tslint": "^6.1.3",
|
|
59
58
|
"typescript": "^5.9.3",
|
|
60
59
|
"vitepress": "^1.6.4",
|
|
61
|
-
"vitest": "^
|
|
60
|
+
"vitest": "^3.2.4"
|
|
62
61
|
}
|
|
63
62
|
}
|
|
Binary file
|
package/src/api.ts
CHANGED
|
@@ -11,9 +11,21 @@ interface DOMParserContext {
|
|
|
11
11
|
dom: dom;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
const XXE_SAFE_OPTIONS: DOMParserOptions = {
|
|
15
|
+
/**
|
|
16
|
+
* Treat XML parsing errors as fatal to prevent XXE attacks.
|
|
17
|
+
* Entity references (e.g. &xxe;) and malformed XML in SAML messages
|
|
18
|
+
* are not expected and may indicate an attack attempt.
|
|
19
|
+
*/
|
|
20
|
+
errorHandler: {
|
|
21
|
+
error: (msg: string) => { throw new Error(`XML parsing error: ${msg}`); },
|
|
22
|
+
fatalError: (msg: string) => { throw new Error(`XML fatal error: ${msg}`); },
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
|
|
14
26
|
const context: Context = {
|
|
15
27
|
validate: undefined,
|
|
16
|
-
dom: new dom()
|
|
28
|
+
dom: new dom(XXE_SAFE_OPTIONS)
|
|
17
29
|
};
|
|
18
30
|
|
|
19
31
|
export function getContext() {
|
package/src/extractor.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { select, SelectedValue, SelectReturnType } from 'xpath';
|
|
2
|
-
import { uniq, last, zipObject, notEmpty } from './utility';
|
|
2
|
+
import { uniq, last, zipObject, notEmpty, escapeXPathValue } from './utility';
|
|
3
3
|
|
|
4
4
|
function toNodeArray(result: SelectReturnType): Node[] {
|
|
5
5
|
if (Array.isArray(result)) return result;
|
|
@@ -7,7 +7,7 @@ function toNodeArray(result: SelectReturnType): Node[] {
|
|
|
7
7
|
return [];
|
|
8
8
|
}
|
|
9
9
|
import { getContext } from './api';
|
|
10
|
-
import camelCase from '
|
|
10
|
+
import { camelCase } from './utility';
|
|
11
11
|
|
|
12
12
|
interface ExtractorField {
|
|
13
13
|
key: string;
|
|
@@ -26,10 +26,10 @@ function buildAbsoluteXPath(paths) {
|
|
|
26
26
|
const isWildcard = name.startsWith('~');
|
|
27
27
|
if (isWildcard) {
|
|
28
28
|
const pathName = name.replace('~', '');
|
|
29
|
-
appendedPath = currentPath + `/*[contains(local-name(),
|
|
29
|
+
appendedPath = currentPath + `/*[contains(local-name(), ${escapeXPathValue(pathName)})]`;
|
|
30
30
|
}
|
|
31
31
|
if (!isWildcard) {
|
|
32
|
-
appendedPath = currentPath + `/*[local-name(.)
|
|
32
|
+
appendedPath = currentPath + `/*[local-name(.)=${escapeXPathValue(name)}]`;
|
|
33
33
|
}
|
|
34
34
|
return appendedPath;
|
|
35
35
|
}, '');
|
|
@@ -42,7 +42,7 @@ function buildAttributeXPath(attributes) {
|
|
|
42
42
|
if (attributes.length === 1) {
|
|
43
43
|
return `/@${attributes[0]}`;
|
|
44
44
|
}
|
|
45
|
-
const filters = attributes.map(attribute => `name()
|
|
45
|
+
const filters = attributes.map(attribute => `name()=${escapeXPathValue(attribute)}`).join(' or ');
|
|
46
46
|
return `/@*[${filters}]`;
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -341,7 +341,7 @@ export function extract(context: string, fields) {
|
|
|
341
341
|
const attributeValues = baseNode.map((node: string) => {
|
|
342
342
|
const nodeDoc = dom.parseFromString(node);
|
|
343
343
|
const values = toNodeArray(select(childXPath, nodeDoc)).reduce((r: any, n: Attr) => {
|
|
344
|
-
r[camelCase(n.name
|
|
344
|
+
r[camelCase(n.name)] = n.value;
|
|
345
345
|
return r;
|
|
346
346
|
}, {});
|
|
347
347
|
return values;
|
package/src/libsaml.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @desc A simple library including some common functions
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import utility, { flattenDeep, isString } from './utility';
|
|
7
|
+
import utility, { flattenDeep, isString, escapeXPathValue } from './utility';
|
|
8
8
|
import { algorithms, wording, namespace } from './urn';
|
|
9
9
|
import { select, SelectReturnType } from 'xpath';
|
|
10
10
|
|
|
@@ -18,7 +18,7 @@ import nrsa, { SigningSchemeHash } from 'node-rsa';
|
|
|
18
18
|
import { SignedXml } from 'xml-crypto';
|
|
19
19
|
import * as xmlenc from '@authenio/xml-encryption';
|
|
20
20
|
import { extract } from './extractor';
|
|
21
|
-
import camelCase from '
|
|
21
|
+
import { camelCase } from './utility';
|
|
22
22
|
import { getContext } from './api';
|
|
23
23
|
import xmlEscape from 'xml-escape';
|
|
24
24
|
import * as fs from 'fs';
|
|
@@ -227,9 +227,10 @@ const libSaml = () => {
|
|
|
227
227
|
*/
|
|
228
228
|
function createXPath(local, isExtractAll?: boolean): string {
|
|
229
229
|
if (isString(local)) {
|
|
230
|
-
|
|
230
|
+
const escaped = escapeXPathValue(local);
|
|
231
|
+
return isExtractAll === true ? "//*[local-name(.)=" + escaped + "]/text()" : "//*[local-name(.)=" + escaped + "]";
|
|
231
232
|
}
|
|
232
|
-
return "//*[local-name(.)=
|
|
233
|
+
return "//*[local-name(.)=" + escapeXPathValue(local.name) + "]/@" + local.attr;
|
|
233
234
|
}
|
|
234
235
|
|
|
235
236
|
/**
|
|
@@ -240,7 +241,7 @@ const libSaml = () => {
|
|
|
240
241
|
* @return {string}
|
|
241
242
|
*/
|
|
242
243
|
function tagging(prefix: string, content: string): string {
|
|
243
|
-
const camelContent = camelCase(content
|
|
244
|
+
const camelContent = camelCase(content);
|
|
244
245
|
return prefix + camelContent.charAt(0).toUpperCase() + camelContent.slice(1);
|
|
245
246
|
}
|
|
246
247
|
|
|
@@ -376,7 +377,8 @@ const libSaml = () => {
|
|
|
376
377
|
const { dom } = getContext();
|
|
377
378
|
const doc = dom.parseFromString(xml);
|
|
378
379
|
|
|
379
|
-
const
|
|
380
|
+
const { dom: contextDom } = getContext();
|
|
381
|
+
const docParser = contextDom;
|
|
380
382
|
// In order to avoid the wrapping attack, we have changed to use absolute xpath instead of naively fetching the signature element
|
|
381
383
|
// message signature (logout response / saml response)
|
|
382
384
|
const messageSignatureXpath = "/*[contains(local-name(), 'Response') or contains(local-name(), 'Request')]/*[local-name(.)='Signature']";
|
package/src/utility.ts
CHANGED
|
@@ -211,6 +211,34 @@ export function notEmpty<TValue>(value: TValue | null | undefined): value is TVa
|
|
|
211
211
|
return value !== null && value !== undefined;
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
+
/**
|
|
215
|
+
* @desc Escape a string for safe use inside an XPath single-quoted string literal.
|
|
216
|
+
* Prevents XPath injection by splitting on single quotes and using concat().
|
|
217
|
+
*/
|
|
218
|
+
export function escapeXPathValue(value: string): string {
|
|
219
|
+
if (!value.includes("'")) {
|
|
220
|
+
return "'" + value + "'";
|
|
221
|
+
}
|
|
222
|
+
// Use XPath concat() to safely handle strings containing single quotes
|
|
223
|
+
const parts = value.split("'").map(part => "'" + part + "'");
|
|
224
|
+
return 'concat(' + parts.join(`,"'",`) + ')';
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export function camelCase(input: string): string {
|
|
228
|
+
const words = input
|
|
229
|
+
.replace(/([a-z\d])([A-Z])/g, '$1\0$2')
|
|
230
|
+
.replace(/([A-Z]+)([A-Z][a-z])/g, '$1\0$2')
|
|
231
|
+
.split(/[\0\s\-_\.]+/)
|
|
232
|
+
.filter(w => w.length > 0);
|
|
233
|
+
|
|
234
|
+
return words
|
|
235
|
+
.map((word, i) => {
|
|
236
|
+
const lower = word.toLocaleLowerCase('en-US');
|
|
237
|
+
return i === 0 ? lower : lower.charAt(0).toLocaleUpperCase('en-US') + lower.slice(1);
|
|
238
|
+
})
|
|
239
|
+
.join('');
|
|
240
|
+
}
|
|
241
|
+
|
|
214
242
|
const utility = {
|
|
215
243
|
isString,
|
|
216
244
|
base64Encode,
|
package/types/src/utility.d.ts
CHANGED
|
@@ -115,6 +115,12 @@ declare function convertToString(input: any, isOutputString: any): any;
|
|
|
115
115
|
export declare function isNonEmptyArray(a: any): boolean;
|
|
116
116
|
export declare function castArrayOpt<T>(a?: T | T[]): T[];
|
|
117
117
|
export declare function notEmpty<TValue>(value: TValue | null | undefined): value is TValue;
|
|
118
|
+
/**
|
|
119
|
+
* @desc Escape a string for safe use inside an XPath single-quoted string literal.
|
|
120
|
+
* Prevents XPath injection by splitting on single quotes and using concat().
|
|
121
|
+
*/
|
|
122
|
+
export declare function escapeXPathValue(value: string): string;
|
|
123
|
+
export declare function camelCase(input: string): string;
|
|
118
124
|
declare const utility: {
|
|
119
125
|
isString: typeof isString;
|
|
120
126
|
base64Encode: typeof base64Encode;
|