You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
seperate AOP objects for easier maintenance
remove hard-coded workspaceID from install
sert_core.extension_xapi.grant_extension_workspace fails when installing with ADMIN
Uniqueness violation on new SERT exception on Breadcrumb Authz Inconsistency
update sert.properties to make more readable for installers
Copy file name to clipboardExpand all lines: product/sert/sert_core/json_data/APEX-SERT Rules.json
+2-2
Original file line number
Diff line number
Diff line change
@@ -222,8 +222,8 @@
222
222
"ruleCriteriaTypeKey": null,
223
223
"additionalWhere": null,
224
224
"customQuery": "with b as\n(\nselect\n application_id\n ,page_id\n ,button_name\n ,region_id\n ,redirect_url\n ,REGEXP_SUBSTR(redirect_url, '[^:]+', 1, 2) as target_page_id\n ,(select authorization_scheme\n from apex_application_pages \n where to_char(page_id) = REGEXP_SUBSTR(redirect_url, '[^:]+', 1, 2) \n and REGEXP_LIKE(REGEXP_SUBSTR(redirect_url, '[^:]+', 1, 2), '^[[:digit:]]+$') \n and application_id = #APP_ID#\n ) target_authorization_scheme\n ,(select authorization_scheme_id\n from apex_application_pages \n where to_char(page_id) = REGEXP_SUBSTR(redirect_url, '[^:]+', 1, 2) \n and REGEXP_LIKE(REGEXP_SUBSTR(redirect_url, '[^:]+', 1, 2), '^[[:digit:]]+$') \n and application_id = #APP_ID#\n ) target_authorization_scheme_id\n ,authorization_scheme\n ,authorization_scheme_id\nfrom\n apex_application_page_buttons\nwhere\n redirect_url is not null\n and application_id = #APP_ID#\n)\nselect\n #EVAL_ID# as eval_id\n ,#RULE_ID# as rule_id \n ,b.application_id as application_id\n ,b.page_id page_id \n ,b.region_id as component_id \n ,b.button_name as component_name\n ,null as column_name \n ,null as item_name\n ,null as shared_comp_name\n ,'Button: ' || nvl(authorization_scheme, 'None') || ' / Page: ' || nvl(target_authorization_scheme, 'None') as current_value\n ,'AuthZ Schemes Match' as valid_values\n ,case when NOT regexp_like(target_page_id, '^[[:digit:]]+$') then '{ \"reasons\":[ {\"reason\":\"target page is not a literal\"} ] ,\"result\":\"FAIL\" }'\n when nvl(target_authorization_scheme_id,0) = nvl(authorization_scheme_id,0) then '{ \"reasons\":[ ] ,\"result\":\"PASS\" }' else '{ \"reasons\":[ ] ,\"result\":\"FAIL\" }' \n end as result\nfrom b\nwhere 1=1\n and application_id = #APP_ID#",
225
-
"info": "The execution of a **Page Process** can be linked to the click of a specific _button_ on the same page. When the **Authorization Scheme** of the Process and the Button do not match it might be possible for the user to have access to the Button and not the Process or vice versa.\n\nAPEX-SERT flags Page Processes where the execution is tied to a Button, but where the Button's Authorization scheme doesn't match the Authorization Scheme for the Process.",
226
-
"fix": "Check the **Authorization Schemes** on both the driving **Button** and the **Page Process** for compatibility. Although they are not required to be the same, developers need to make sure that the Authorization Schemes are compatible and will provide the desired result.",
225
+
"info": "When a **Button** is used to redirect to a **Page** within an application, the **Authorization Scheme** needs to match on both occasions. When the Authorization Scheme of the Page and the Button do not match, it might be possible for the user to have access to the Button and not the Page or vice versa.\r\n\r\nAPEX-SERT flags when the Button's Authorization scheme doesn't match the Authorization Scheme for the target Page redirection.",
226
+
"fix": "Check the **Authorization Schemes** on both the driving **Button** and the target **Page** redirect for compatibility. Although they are not required to be the same, developers need to make sure that the Authorization Schemes are compatible and will provide the desired result.",
Copy file name to clipboardExpand all lines: product/sert/sert_core/seed_data/110_rule_import.sql
+10-8
Original file line number
Diff line number
Diff line change
@@ -1367,6 +1367,7 @@ begin
1367
1367
' ,be.authorization_scheme',
1368
1368
' ,be.authorization_scheme_id',
1369
1369
' ,b.breadcrumb_id',
1370
+
' ,be.breadcrumb_entry_id',
1370
1371
' ,(select authorization_scheme',
1371
1372
' from apex_application_pages ',
1372
1373
' where to_char(page_id) = REGEXP_SUBSTR(be.url, ''[^:]+'', 1, 2) ',
@@ -1392,7 +1393,7 @@ begin
1392
1393
' ,#RULE_ID# as rule_id ',
1393
1394
' ,b.application_id as application_id',
1394
1395
' ,null as page_id ',
1395
-
' ,breadcrumb_id as component_id ',
1396
+
' ,breadcrumb_entry_id as component_id ',
1396
1397
' ,b.entry_label as component_name',
1397
1398
' ,null as column_name ',
1398
1399
' ,null as item_name',
@@ -1612,10 +1613,10 @@ begin
1612
1613
'where 1=1',
1613
1614
' and application_id = #APP_ID#')),
1614
1615
p_info => apex_string.join(apex_t_varchar2(
1615
-
'The execution of a **Page Process** can be linked to the click of a specific _button_ on the same page. When the **Authorization Scheme** of the Process and the Button do not match it might be possible for the user to have access to the Button and not the Process or vice versa.',
1616
+
'When a **Button** is used to redirect to a **Page** within an application, the **Authorization Scheme** needs to match on both occasions. When the Authorization Scheme of the Page and the Button do not match, it might be possible for the user to have access to the Button and not the Page or vice versa.',
1616
1617
'',
1617
-
'APEX-SERT flags Page Processes where the execution is tied to a Button, but where the Button''s Authorization scheme doesn''t match the Authorization Scheme for the Process.')),
1618
-
p_fix => 'Check the **Authorization Schemes** on both the driving **Button** and the **Page Process** for compatibility. Although they are not required to be the same, developers need to make sure that the Authorization Schemes are compatible and will provide the desired result.',
1618
+
'APEX-SERT flags when the Button''s Authorization scheme doesn''t match the Authorization Scheme for the target Page redirection.')),
1619
+
p_fix => 'Check the **Authorization Schemes** on both the driving **Button** and the target **Page** redirect for compatibility. Although they are not required to be the same, developers need to make sure that the Authorization Schemes are compatible and will provide the desired result.',
1619
1620
p_time_to_fix => null,
1620
1621
p_rule_severity_name => 'Medium',
1621
1622
p_rule_severity_key => 'MEDIUM',
@@ -10594,6 +10595,7 @@ begin
10594
10595
' ,be.authorization_scheme',
10595
10596
' ,be.authorization_scheme_id',
10596
10597
' ,b.breadcrumb_id',
10598
+
' ,be.breadcrumb_entry_id',
10597
10599
' ,(select authorization_scheme',
10598
10600
' from apex_application_pages ',
10599
10601
' where to_char(page_id) = REGEXP_SUBSTR(be.url, ''[^:]+'', 1, 2) ',
@@ -10619,7 +10621,7 @@ begin
10619
10621
' ,#RULE_ID# as rule_id ',
10620
10622
' ,b.application_id as application_id',
10621
10623
' ,null as page_id ',
10622
-
' ,breadcrumb_id as component_id ',
10624
+
' ,breadcrumb_entry_id as component_id ',
10623
10625
' ,b.entry_label as component_name',
10624
10626
' ,null as column_name ',
10625
10627
' ,null as item_name',
@@ -10839,10 +10841,10 @@ begin
10839
10841
'where 1=1',
10840
10842
' and application_id = #APP_ID#')),
10841
10843
p_info => apex_string.join(apex_t_varchar2(
10842
-
'The execution of a **Page Process** can be linked to the click of a specific _button_ on the same page. When the **Authorization Scheme** of the Process and the Button do not match it might be possible for the user to have access to the Button and not the Process or vice versa.',
10844
+
'When a **Button** is used to redirect to a **Page** within an application, the **Authorization Scheme** needs to match on both occasions. When the Authorization Scheme of the Page and the Button do not match, it might be possible for the user to have access to the Button and not the Page or vice versa.',
10843
10845
'',
10844
-
'APEX-SERT flags Page Processes where the execution is tied to a Button, but where the Button''s Authorization scheme doesn''t match the Authorization Scheme for the Process.')),
10845
-
p_fix => 'Check the **Authorization Schemes** on both the driving **Button** and the **Page Process** for compatibility. Although they are not required to be the same, developers need to make sure that the Authorization Schemes are compatible and will provide the desired result.',
10846
+
'APEX-SERT flags when the Button''s Authorization scheme doesn''t match the Authorization Scheme for the target Page redirection.')),
10847
+
p_fix => 'Check the **Authorization Schemes** on both the driving **Button** and the target **Page** redirect for compatibility. Although they are not required to be the same, developers need to make sure that the Authorization Schemes are compatible and will provide the desired result.',
0 commit comments