circle-ir 3.30.0 → 3.32.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/dist/analysis/config-loader.d.ts.map +1 -1
- package/dist/analysis/config-loader.js +35 -0
- package/dist/analysis/config-loader.js.map +1 -1
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +3 -1
- package/dist/analyzer.js.map +1 -1
- package/dist/browser/circle-ir.js +250 -6
- package/dist/core/circle-ir-core.cjs +35 -0
- package/dist/core/circle-ir-core.js +35 -0
- package/dist/core/extractors/index.d.ts +1 -0
- package/dist/core/extractors/index.d.ts.map +1 -1
- package/dist/core/extractors/index.js +1 -0
- package/dist/core/extractors/index.js.map +1 -1
- package/dist/core/extractors/runtime-registrations.d.ts +34 -0
- package/dist/core/extractors/runtime-registrations.d.ts.map +1 -0
- package/dist/core/extractors/runtime-registrations.js +266 -0
- package/dist/core/extractors/runtime-registrations.js.map +1 -0
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/types/index.d.ts +32 -0
- package/dist/types/index.d.ts.map +1 -1
- package/docs/SPEC.md +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/analysis/config-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAEjD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAiB1E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG;IACtD,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC,CAcA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,MAAM,EAAE,GACrB,WAAW,CAQb;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/analysis/config-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAEjD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAiB1E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG;IACtD,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC,CAcA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,MAAM,EAAE,GACrB,WAAW,CAQb;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,EA4a1C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAAW,EAwpCtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EA6LhD,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CAM9C;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,EAAE,UAAU,EA8F5C,CAAC"}
|
|
@@ -227,6 +227,14 @@ export const DEFAULT_SOURCES = [
|
|
|
227
227
|
{ method: 'getContent', class: 'Block', type: 'io_input', severity: 'high', return_tainted: true },
|
|
228
228
|
{ method: 'getParameters', class: 'Block', type: 'io_input', severity: 'high', return_tainted: true },
|
|
229
229
|
{ method: 'getRawContent', type: 'io_input', severity: 'high', return_tainted: true },
|
|
230
|
+
// XWiki request-bound sources (issue #10, CVE-2022-24897 / 2023-29201 / 2023-29528 /
|
|
231
|
+
// 2023-36471 / 2023-37908). XWikiRequest.get(name) / .getParameter(name) /
|
|
232
|
+
// XWikiContext.getRequest().get(...) all return URL/form data unchanged.
|
|
233
|
+
{ method: 'get', class: 'XWikiRequest', type: 'http_param', severity: 'high', return_tainted: true },
|
|
234
|
+
{ method: 'getParameter', class: 'XWikiRequest', type: 'http_param', severity: 'high', return_tainted: true },
|
|
235
|
+
{ method: 'getParameterValues', class: 'XWikiRequest', type: 'http_param', severity: 'high', return_tainted: true },
|
|
236
|
+
{ method: 'getParameterMap', class: 'XWikiRequest', type: 'http_param', severity: 'high', return_tainted: true },
|
|
237
|
+
{ method: 'getHeader', class: 'XWikiRequest', type: 'http_header', severity: 'high', return_tainted: true },
|
|
230
238
|
// SAX/XML parsing sources (data from parsed XML)
|
|
231
239
|
{ method: 'getAttributes', class: 'XMLReader', type: 'io_input', severity: 'high', return_tainted: true },
|
|
232
240
|
{ method: 'getValue', class: 'Attributes', type: 'io_input', severity: 'high', return_tainted: true },
|
|
@@ -854,6 +862,12 @@ export const DEFAULT_SINKS = [
|
|
|
854
862
|
{ method: 'eval', class: 'MVEL', type: 'code_injection', cwe: 'CWE-94', severity: 'critical', arg_positions: [0] },
|
|
855
863
|
{ method: 'createValueExpression', class: 'ExpressionFactory', type: 'code_injection', cwe: 'CWE-94', severity: 'critical', arg_positions: [1] },
|
|
856
864
|
{ method: 'createMethodExpression', class: 'ExpressionFactory', type: 'code_injection', cwe: 'CWE-94', severity: 'critical', arg_positions: [1] },
|
|
865
|
+
// Apache NiFi Expression Language (CVE-2023-36542, issue #11).
|
|
866
|
+
// PropertyValue.evaluateAttributeExpressions(...) runs NiFi EL against
|
|
867
|
+
// user-controlled property values — if the property is attacker-influenced
|
|
868
|
+
// the EL evaluation is a code-injection sink.
|
|
869
|
+
{ method: 'evaluateAttributeExpressions', class: 'PropertyValue', type: 'code_injection', cwe: 'CWE-94', severity: 'critical', arg_positions: [] },
|
|
870
|
+
{ method: 'evaluateAttributeExpressions', type: 'code_injection', cwe: 'CWE-94', severity: 'critical', arg_positions: [] },
|
|
857
871
|
// Groovy script execution
|
|
858
872
|
{ method: 'evaluate', class: 'GroovyShell', type: 'code_injection', cwe: 'CWE-94', severity: 'critical', arg_positions: [0] },
|
|
859
873
|
{ method: 'parse', class: 'GroovyShell', type: 'code_injection', cwe: 'CWE-94', severity: 'critical', arg_positions: [0] },
|
|
@@ -1067,6 +1081,27 @@ export const DEFAULT_SINKS = [
|
|
|
1067
1081
|
{ method: 'cleanAttributes', class: 'XHTMLWikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1068
1082
|
{ method: 'printXMLElement', class: 'XHTMLWikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1069
1083
|
{ method: 'printXMLStartElement', class: 'XHTMLWikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1084
|
+
// XWiki rendering output sinks (issue #10, CVE-2022-24897 / 2023-29201 /
|
|
1085
|
+
// 2023-29528 / 2023-36471 / 2023-37908). WikiPrinter is the base output
|
|
1086
|
+
// interface; DefaultWikiPrinter and AnnotatedXHTMLWikiPrinter are the
|
|
1087
|
+
// concrete renderers that emit HTML into the response stream.
|
|
1088
|
+
{ method: 'print', class: 'WikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1089
|
+
{ method: 'println', class: 'WikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1090
|
+
{ method: 'print', class: 'DefaultWikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1091
|
+
{ method: 'println', class: 'DefaultWikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1092
|
+
{ method: 'print', class: 'XHTMLWikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1093
|
+
{ method: 'println', class: 'XHTMLWikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1094
|
+
{ method: 'printXML', class: 'XHTMLWikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1095
|
+
{ method: 'printXMLComment', class: 'XHTMLWikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1096
|
+
{ method: 'print', class: 'AnnotatedXHTMLWikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1097
|
+
{ method: 'println', class: 'AnnotatedXHTMLWikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1098
|
+
{ method: 'printXMLElement', class: 'AnnotatedXHTMLWikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1099
|
+
{ method: 'printXMLStartElement', class: 'AnnotatedXHTMLWikiPrinter', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1100
|
+
// Block renderers — `render(block, printer)` writes the block content out.
|
|
1101
|
+
// The block argument carries the parsed (possibly tainted) wiki content.
|
|
1102
|
+
{ method: 'render', class: 'BlockRenderer', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1103
|
+
{ method: 'render', class: 'AbstractBlockRenderer', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1104
|
+
{ method: 'render', class: 'DefaultBlockRenderer', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1070
1105
|
// XHTML renderer chains
|
|
1071
1106
|
{ method: 'initialize', class: 'HTML5Renderer', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|
|
1072
1107
|
{ method: 'initialize', class: 'XHTMLRenderer', type: 'xss', cwe: 'CWE-79', severity: 'high', arg_positions: [0] },
|