{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":822599279,"defaultBranch":"master","name":"ChakraCore","ownerLogin":"bhmohanr-techie","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2024-07-01T13:00:42.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/110107743?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1719838850.6644921","currentOid":""},"activityList":{"items":[{"before":"4800753dc37af0e8228b442afed86fec92363809","after":"47261263d15917c760c4b06070032e0b2be3f866","ref":"refs/heads/master","pushedAt":"2024-08-12T08:15:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bhmohanr-techie","name":"Bharath Mohanraj","path":"/bhmohanr-techie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/110107743?s=80&v=4"},"commit":{"message":"Added a missed-out change related to my previous commit.","shortMessageHtmlLink":"Added a missed-out change related to my previous commit."}},{"before":"dfe539a16286cee2abb44ae74ea0cd6cc5189fe3","after":"4800753dc37af0e8228b442afed86fec92363809","ref":"refs/heads/master","pushedAt":"2024-08-12T04:54:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bhmohanr-techie","name":"Bharath Mohanraj","path":"/bhmohanr-techie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/110107743?s=80&v=4"},"commit":{"message":"Merging PR: https://github.com/chakra-core/ChakraCore/pull/6531. \n\nMerging PR: https://github.com/chakra-core/ChakraCore/pull/6531. \r\nThis is the change that was added by Microsoft as part of their December 2020 Security Update, which addresses the CVE-2020-17131. This CVE is to address Out-of-bounds Write in ChakraCore, and there by fixing memory corruption vulnerability. This change is unfortunately missed in the latest ChakraCore code base, and hence adding this for review.","shortMessageHtmlLink":"Merging PR: chakra-core#6531."}},{"before":"db3294f2f6435b3d1a38b97c07a1c05dee9dccae","after":"dfe539a16286cee2abb44ae74ea0cd6cc5189fe3","ref":"refs/heads/master","pushedAt":"2024-08-12T02:51:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bhmohanr-techie","name":"Bharath Mohanraj","path":"/bhmohanr-techie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/110107743?s=80&v=4"},"commit":{"message":"Merge branch 'chakra-core:master' into master","shortMessageHtmlLink":"Merge branch 'chakra-core:master' into master"}},{"before":"ea32270a4bca7eb48a1b4820c488e37994e7fd12","after":"db3294f2f6435b3d1a38b97c07a1c05dee9dccae","ref":"refs/heads/master","pushedAt":"2024-07-09T03:23:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bhmohanr-techie","name":"Bharath Mohanraj","path":"/bhmohanr-techie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/110107743?s=80&v=4"},"commit":{"message":"Updating rlexe.xml","shortMessageHtmlLink":"Updating rlexe.xml"}},{"before":"a72f9f9649b199107477a449c8d3b77e3e3780bf","after":"ea32270a4bca7eb48a1b4820c488e37994e7fd12","ref":"refs/heads/master","pushedAt":"2024-07-09T01:41:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bhmohanr-techie","name":"Bharath Mohanraj","path":"/bhmohanr-techie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/110107743?s=80&v=4"},"commit":{"message":"Deleting one of the unit test code, that was written without following UnitTestFramework... This will be replaced with new unit test soon, that adheres to ChakraCore's unit test framework.","shortMessageHtmlLink":"Deleting one of the unit test code, that was written without followin…"}},{"before":"402d98bcbc6ccbba64caf28cbd2cb54800e867c2","after":"a72f9f9649b199107477a449c8d3b77e3e3780bf","ref":"refs/heads/master","pushedAt":"2024-07-08T07:13:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bhmohanr-techie","name":"Bharath Mohanraj","path":"/bhmohanr-techie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/110107743?s=80&v=4"},"commit":{"message":"Merge branch 'master' of https://github.com/bhmohanr-techie/ChakraCore","shortMessageHtmlLink":"Merge branch 'master' of https://github.com/bhmohanr-techie/ChakraCore"}},{"before":"4053e07cd78532a8a1e9efeb1c57abfc978f7c78","after":"402d98bcbc6ccbba64caf28cbd2cb54800e867c2","ref":"refs/heads/master","pushedAt":"2024-07-08T04:58:49.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"bhmohanr-techie","name":"Bharath Mohanraj","path":"/bhmohanr-techie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/110107743?s=80&v=4"},"commit":{"message":"Merge branch 'master' into master","shortMessageHtmlLink":"Merge branch 'master' into master"}},{"before":"1da48f1aee72ebc2f4bba45d5ab031816b759d91","after":"4053e07cd78532a8a1e9efeb1c57abfc978f7c78","ref":"refs/heads/master","pushedAt":"2024-07-08T04:57:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bhmohanr-techie","name":"Bharath Mohanraj","path":"/bhmohanr-techie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/110107743?s=80&v=4"},"commit":{"message":"Added couple of changes here,\n\n1. I have added two new tests as part of the unit test framework within ChakraCore (one test to verify out-of-bounds access behavior without my fix, and other test with my fix). In both the cases, I have verified that the tests are PASSED.\n2. In addition to my earlier commits for handling out-of-bounds write with javascript arrays, I have added a change here to address out-of-bounds read scenario.","shortMessageHtmlLink":"Added couple of changes here,"}},{"before":"d7c3d570b7c517d5d1622073bdce8937eac9d7fd","after":"1da48f1aee72ebc2f4bba45d5ab031816b759d91","ref":"refs/heads/master","pushedAt":"2024-07-02T03:55:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bhmohanr-techie","name":"Bharath Mohanraj","path":"/bhmohanr-techie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/110107743?s=80&v=4"},"commit":{"message":"Updating the copyright info to follow the format of pal_copyright_lines as defined in tools/StyleChecks/check_copyright.py.","shortMessageHtmlLink":"Updating the copyright info to follow the format of pal_copyright_lin…"}},{"before":"dfa5a166a88180cdea50cb3af507107689c4bbd7","after":"d7c3d570b7c517d5d1622073bdce8937eac9d7fd","ref":"refs/heads/master","pushedAt":"2024-07-02T01:33:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bhmohanr-techie","name":"Bharath Mohanraj","path":"/bhmohanr-techie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/110107743?s=80&v=4"},"commit":{"message":"Merging from https://github.com/chakra-core/ChakraCore/pull/6970\n\nAvoid using MSVC-internal _STRINGIZE #6970\n\nBelow is the comment from\nStephan T. Lavavej in the above mentioned pull request:\n\n\"I work on Microsoft's C++ Standard Library implementation, where we recently merged microsoft/STL#4405 to remove our internal _STRINGIZE macro. Our \"Real World Code\" test suite, which builds popular open-source projects like yours, found that you were using this MSVC-internal macro and therefore our change broke your code.\n\nThe C++ Standard's rule is that _Leading_underscore_capital identifiers (including _LEADING_UNDERSCORE_ALL_CAPS) are reserved for the compiler and Standard Library, so other libraries and applications should avoid using such reserved identifiers. This is N4971 5.10 [lex.name]/3:\n\nIn addition, some identifiers appearing as a token or preprocessing-token are reserved for use by C++ implementations and shall not be used otherwise; no diagnostic is required.\n— Each identifier that contains a double underscore __ or begins with an underscore followed by an uppercase letter is reserved to the implementation for any use.\n\nThis PR introduces non-reserved names that will work on all platforms.\"","shortMessageHtmlLink":"Merging from chakra-core#6970"}},{"before":"20df1ea32409f13e61c328464eb742615e749955","after":"dfa5a166a88180cdea50cb3af507107689c4bbd7","ref":"refs/heads/master","pushedAt":"2024-07-01T15:09:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bhmohanr-techie","name":"Bharath Mohanraj","path":"/bhmohanr-techie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/110107743?s=80&v=4"},"commit":{"message":"Updating the copyright info.","shortMessageHtmlLink":"Updating the copyright info."}},{"before":"3a7b12017dc84ff569855d26c399845cafca028f","after":"20df1ea32409f13e61c328464eb742615e749955","ref":"refs/heads/master","pushedAt":"2024-07-01T14:47:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bhmohanr-techie","name":"Bharath Mohanraj","path":"/bhmohanr-techie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/110107743?s=80&v=4"},"commit":{"message":"Changes For:\n=========\nCVE-2021-42279: Chakra Scripting Engine Memory Corruption Vulnerability\n\nCVE-2021-42279 is a high-severity memory corruption vulnerability affecting the Chakra Scripting Engine and ChakraCore.\n\nThe vulnerability stems from an out-of-bounds write, which can potentially be exploited to achieve remote code execution (RCE). An attacker could exploit this by convincing a user to perform certain actions, leading to memory corruption and potentially allowing the attacker to execute arbitrary code on the affected system.\n\nVulnerability Type:\n=============\nMemory Violation, resulting in Remote Code Execution (RCE)\n\nAffected Versions:\n============\nAll versions of ChakraCore up to and including 1.11.24.\n\nSeverity:\n======\nCVSS Score: 7.5 (HIGH)\n\nRoot Cause:\n=========\n# An out-of-bounds array write occurs when a program writes data to a memory location outside the bounds of the allocated memory for an array.\n# In the context of ChakraCore, an out-of-bounds write can lead to memory corruption. When data is written outside the bounds of an array, it can overwrite adjacent memory regions that may be used for other variables, objects, or control structures. This unintended overwrite can corrupt data, causing unpredictable behavior or program crashes.\n# Consider a simplified scenario where ChakraCore mishandles the bounds of an array:\n\n// JavaScript code that might trigger out-of-bounds write\nlet arr = new Array(1);\narr[100] = 42; // This could lead to out-of-bounds write if not properly handled\n\n# If ChakraCore does not correctly check the bounds before writing to the ‘arr[100]’ position, it could write the value ‘42’ to a memory location outside the allocated space for ‘arr’. This could overwrite important data or control structures, leading to memory corruption.\n\nFix:\n===\n# To address this issue, fix is added to allow setting elements only if the index falls within the bounds of the array.\n# This fix is added such that, it takes effect only if additional command line switch “--ValidateArrayBounds” is passed to ChakraCore. With this, we ensure that the existing functionalities of ChakraCore continues to work as before.\n# Users of ChakraCore can take advantage of the newly added switch “--ValidateArrayBounds\", which helps in making sure, any injection of elements to an array is restricted only within the bounds of the array. With this, we ensure that the out-of-bound write issue is not seen, there by preventing write operation to sensitive memory locations.\n# By default, “--ValidateArrayBounds\" will be false.\n\nUnit Testing:\n==========\nAll unit test cases are executed and there is no failure due to these new changes. In fact, this fix takes effect only when the switch “--ValidateArrayBounds\" is passed to the ChakraCore engine, so there is no impact to existing testcases/functionalities.\n\nSample Output:\n===========\nConsider Script \"test.js\" below:\n\nlet arr = new Array(2);\nconsole.log(\"arr.length is \" + arr.length)\narr[0] = 0;\nconsole.log(\"arr[0] is \" + arr[0])\narr[1] = 1;\nconsole.log(\"arr[1] is \" + arr[1])\narr[100] = 100;\nconsole.log(\"arr[100] is \" + arr[100])\n\nOutput without the newly added switch,\nC:\\temp>ch.exe test.js\narr.length is 2\narr[0] is 0\narr[1] is 1\narr[100] is 100\n\nOutput with the newly added switch,\nC:\\temp>ch.exe --ValidateArrayBounds test.js\narr.length is 2\narr[0] is 0\narr[1] is 1\nRangeError: Memory index is out of range\n at Global code (C:\\temp\\test.js:11:1)\n\nReferences:\n========\nhttps://nvd.nist.gov/vuln/detail/CVE-2021-42279\nhttps://www.cve.org/CVERecord?id=CVE-2021-42279\nhttps://github.com/chakra-core/ChakraCore","shortMessageHtmlLink":"Changes For:"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEl9ufqAA","startCursor":null,"endCursor":null}},"title":"Activity · bhmohanr-techie/ChakraCore"}