{"action":"created","issue":{"url":"https://api.github.com/repos/goeltanmay/PatientsApp/issues/71","repository_url":"https://api.github.com/repos/goeltanmay/PatientsApp","labels_url":"https://api.github.com/repos/goeltanmay/PatientsApp/issues/71/labels{/name}","comments_url":"https://api.github.com/repos/goeltanmay/PatientsApp/issues/71/comments","events_url":"https://api.github.com/repos/goeltanmay/PatientsApp/issues/71/events","html_url":"https://github.com/goeltanmay/PatientsApp/pull/71","id":273966815,"number":71,"title":"Update test_new.md","user":{"login":"jitinnagpal1989","id":21133117,"avatar_url":"https://avatars2.githubusercontent.com/u/21133117?v=4","gravatar_id":"","url":"https://api.github.com/users/jitinnagpal1989","html_url":"https://github.com/jitinnagpal1989","followers_url":"https://api.github.com/users/jitinnagpal1989/followers","following_url":"https://api.github.com/users/jitinnagpal1989/following{/other_user}","gists_url":"https://api.github.com/users/jitinnagpal1989/gists{/gist_id}","starred_url":"https://api.github.com/users/jitinnagpal1989/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jitinnagpal1989/subscriptions","organizations_url":"https://api.github.com/users/jitinnagpal1989/orgs","repos_url":"https://api.github.com/users/jitinnagpal1989/repos","events_url":"https://api.github.com/users/jitinnagpal1989/events{/privacy}","received_events_url":"https://api.github.com/users/jitinnagpal1989/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-11-14T22:29:52Z","updated_at":"2017-11-14T22:30:02Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/goeltanmay/PatientsApp/pulls/71","html_url":"https://github.com/goeltanmay/PatientsApp/pull/71","diff_url":"https://github.com/goeltanmay/PatientsApp/pull/71.diff","patch_url":"https://github.com/goeltanmay/PatientsApp/pull/71.patch"},"body":""},"comment":{"url":"https://api.github.com/repos/goeltanmay/PatientsApp/issues/comments/344421131","html_url":"https://github.com/goeltanmay/PatientsApp/pull/71#issuecomment-344421131","issue_url":"https://api.github.com/repos/goeltanmay/PatientsApp/issues/71","id":344421131,"user":{"login":"robocop[bot]","id":32422528,"avatar_url":"https://avatars3.githubusercontent.com/u/7812305?v=4","gravatar_id":"","url":"https://api.github.com/users/robocop%5Bbot%5D","html_url":"https://github.com/apps/robocop","followers_url":"https://api.github.com/users/robocop%5Bbot%5D/followers","following_url":"https://api.github.com/users/robocop%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/robocop%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/robocop%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robocop%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/robocop%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/robocop%5Bbot%5D/repos","events_url":"https://api.github.com/users/robocop%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/robocop%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2017-11-14T22:30:02Z","updated_at":"2017-11-14T22:30:02Z","author_association":"NONE","body":"### Robocop Report : 13 new vulnerabilities found\n\n**Name :** Web Browser XSS Protection Not Enabled\n**Description :** Web Browser XSS Protection is not enabled, or is disabled by the configuration of the 'X-XSS-Protection' HTTP response header on the web server\n**Solution :** Ensure that the web browser's XSS filter is enabled, by setting the X-XSS-Protection HTTP response header to '1'.\n___\n**Name :** X-Content-Type-Options Header Missing\n**Description :** The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.\n**Solution :** Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.\nIf possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.\n___\n**Name :** X-Frame-Options Header Not Set\n**Description :** X-Frame-Options header is not included in the HTTP response to protect against 'ClickJacking' attacks.\n**Solution :** Most modern Web browsers support the X-Frame-Options HTTP header. Ensure it's set on all web pages returned by your site (if you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. ALLOW-FROM allows specific websites to frame the web page in supported web browsers).\n___\n**Name :** Regular Expression Denial of Service (DoS)\n**Description :** ## Overview\n[`hawk`](https://www.npmjs.com/package/hawk) Hawk is an HTTP authentication scheme using a message authentication code (MAC) algorithm to provide partial HTTP request cryptographic verification. \nAffected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS) attacks.\n\nThe Regular expression Denial of Service (ReDoS) is a type of Denial of Service attack.  Many Regular Expression implementations may reach edge cases that causes them to work very slowly (exponentially related to input size), allowing an attacker to exploit this and can cause the program to enter these extreme situations by using a specially crafted input and cause the service to excessively consume CPU, resulting in a Denial of Service.\n\nAn attacker can provide a long url, which nearly matches the pattern being matched. This will cause the regular expression matching to take a long time, all the while occupying the event loop and preventing it from processing other requests and making the server unavailable (a Denial of Service attack).\n\nYou can read more about `Regular Expression Denial of Service (ReDoS)` on our [blog](https://snyk.io/blog/redos-and-catastrophic-backtracking/).\n\n## References\n- https://github.com/hueniverse/hawk/issues/168\n- https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS\n\n___\n**Name :** Timing Attack\n**Description :** ## Overview\n[`http-signature`](https://www.npmjs.com/package/http-signature) is a reference implementation of Joyent's HTTP Signature scheme.\nAffected versions of the package are vulnerable to Timing Attacks due to time-variable comparison of signatures. il.\n\nThe library implemented a character to character comparison, similar to the built-in string comparison mechanism, `===`, and not a time constant string comparison. As a result, the comparison will fail faster when the first characters in the signature are incorrect.\nAn attacker can use this difference to perform a timing attack, essentially allowing them to guess the signature one character at a time.\n\nYou can read more about timing attacks in Node.js on the [Snyk blog](https://snyk.io/blog/node-js-timing-attack-ccc-ctf/).\n\n## Remediation\nUpgrade `http-signature` to version 1.0.0 or higher.\n\n## References\n- [Github PR](https://github.com/joyent/node-http-signature/pull/36)\n- [Github Commit](https://github.com/joyent/node-http-signature/commit/78ab1da232f31f695f5c362d863593a143aa8b56)\n\n___\n**Name :** Regular Expression Denial of Service (ReDoS)\n**Description :** ## Overview\n[`mime`](https://www.npmjs.com/package/mime) is a comprehensive, compact MIME type module.\n\nAffected versions of this package are vulnerable to Regular expression Denial of Service (ReDoS). It uses regex the following regex `/.*[\\.\\/\\\\]/` in its lookup, which can cause a slowdown of 2 seconds for 50k characters.\n\nThe Regular expression Denial of Service (ReDoS) is a type of Denial of Service attack. Many Regular Expression implementations may reach extreme situations that cause them to work very slowly (exponentially related to input size), allowing an attacker to exploit this and can cause the program to enter these extreme situations by using a specially crafted input and cause the service to excessively consume CPU, resulting in a Denial of Service.\n\nYou can read more about `Regular Expression Denial of Service (ReDoS)` on our [blog](https://snyk.io/blog/redos-and-catastrophic-backtracking/).\n\n## Remediation\nUpgrade `mime` to versions 1.4.1, 2.0.3 or higher.\n\n## References\n- [Github Issue](https://github.com/broofa/node-mime/issues/167)\n- [Github Commit 1.x](https://github.com/broofa/node-mime/commit/855d0c4b8b22e4a80b9401a81f2872058eae274d)\n- [Github Commit 2.0.x](https://github.com/broofa/node-mime/commit/1df903fdeb9ae7eaa048795b8d580ce2c98f40b0)\n\n___\n**Name :** Regular Expression Denial of Service (ReDoS)\n**Description :** ## Overview\n[`mime`](https://www.npmjs.com/package/mime) is a comprehensive, compact MIME type module.\n\nAffected versions of this package are vulnerable to Regular expression Denial of Service (ReDoS). It uses regex the following regex `/.*[\\.\\/\\\\]/` in its lookup, which can cause a slowdown of 2 seconds for 50k characters.\n\nThe Regular expression Denial of Service (ReDoS) is a type of Denial of Service attack. Many Regular Expression implementations may reach extreme situations that cause them to work very slowly (exponentially related to input size), allowing an attacker to exploit this and can cause the program to enter these extreme situations by using a specially crafted input and cause the service to excessively consume CPU, resulting in a Denial of Service.\n\nYou can read more about `Regular Expression Denial of Service (ReDoS)` on our [blog](https://snyk.io/blog/redos-and-catastrophic-backtracking/).\n\n## Remediation\nUpgrade `mime` to versions 1.4.1, 2.0.3 or higher.\n\n## References\n- [Github Issue](https://github.com/broofa/node-mime/issues/167)\n- [Github Commit 1.x](https://github.com/broofa/node-mime/commit/855d0c4b8b22e4a80b9401a81f2872058eae274d)\n- [Github Commit 2.0.x](https://github.com/broofa/node-mime/commit/1df903fdeb9ae7eaa048795b8d580ce2c98f40b0)\n\n___\n**Name :** Regular Expression Denial of Service (ReDoS)\n**Description :** ## Overview\n[`mime`](https://www.npmjs.com/package/mime) is a comprehensive, compact MIME type module.\n\nAffected versions of this package are vulnerable to Regular expression Denial of Service (ReDoS). It uses regex the following regex `/.*[\\.\\/\\\\]/` in its lookup, which can cause a slowdown of 2 seconds for 50k characters.\n\nThe Regular expression Denial of Service (ReDoS) is a type of Denial of Service attack. Many Regular Expression implementations may reach extreme situations that cause them to work very slowly (exponentially related to input size), allowing an attacker to exploit this and can cause the program to enter these extreme situations by using a specially crafted input and cause the service to excessively consume CPU, resulting in a Denial of Service.\n\nYou can read more about `Regular Expression Denial of Service (ReDoS)` on our [blog](https://snyk.io/blog/redos-and-catastrophic-backtracking/).\n\n## Remediation\nUpgrade `mime` to versions 1.4.1, 2.0.3 or higher.\n\n## References\n- [Github Issue](https://github.com/broofa/node-mime/issues/167)\n- [Github Commit 1.x](https://github.com/broofa/node-mime/commit/855d0c4b8b22e4a80b9401a81f2872058eae274d)\n- [Github Commit 2.0.x](https://github.com/broofa/node-mime/commit/1df903fdeb9ae7eaa048795b8d580ce2c98f40b0)\n\n___\n**Name :** Denial of Service (Memory Exhaustion)\n**Description :** ## Overview\n[`qs`](https://www.npmjs.com/package/qs) is a querystring parser that supports nesting and arrays, with a depth limit.\n\nDuring parsing, the `qs` module may create a sparse area (an array where not elements are filled), and grow that array to the necessary size based on the indices used on it. An attacker can specify a high index value in a query string, thus making the server allocate a respectively big array. Truly large values can cause the server to run out of memory and cause it to crash - thus enabling a Denial-of-Service attack.\n\n## Remediation\nUpgrade qs to version 1.0.0 or greater. In these versions, qs introduced a low limit on the index value, preventing such an attack\n\n## References\n- https://github.com/visionmedia/node-querystring/issues/104\n\n\n___\n**Name :** Denial of Service (Event Loop Blocking)\n**Description :** ## Overview\n[`qs`](https://www.npmjs.com/package/qs) is a querystring parser that supports nesting and arrays, with a depth limit.\n\nWhen parsing a string representing a deeply nested object, qs will block the event loop for long periods of time. Such a delay may hold up the server's resources, keeping it from processing other requests in the meantime, thus enabling a Denial-of-Service attack. \n\n## Remediation\nUpdate qs to version 1.0.0 or higher. In these versions, qs enforces a max object depth (along with other limits), limiting the event loop length and thus preventing such an attack.\n\n## References\n- https://nodesecurity.io/advisories/28\n\n___\n**Name :** Prototype Override Protection Bypass\n**Description :** ## Overview\n[`qs`](https://www.npmjs.com/package/qs) is a querystring parser that supports nesting and arrays, with a depth limit.\n\nBy default `qs` protects against attacks that attempt to overwrite an object's existing prototype properties, such as `toString()`, `hasOwnProperty()`,etc.\n\nFrom [`qs` documentation](https://github.com/ljharb/qs):\n> By default parameters that would overwrite properties on the object prototype are ignored, if you wish to keep the data from those fields either use plainObjects as mentioned above, or set allowPrototypes to true which will allow user input to overwrite those properties. WARNING It is generally a bad idea to enable this option as it can cause problems when attempting to use the properties that have been overwritten. Always be careful with this option.\n\nOverwriting these properties can impact application logic, potentially allowing attackers to work around security controls, modify data, make the application unstable and more.\n\nIn versions of the package affected by this vulnerability, it is possible to circumvent this protection and overwrite prototype properties and functions by prefixing the name of the parameter with `[` or `]`. e.g. `qs.parse(\"]=toString\")` will return `{toString = true}`, as a result, calling `toString()` on the object will throw an exception.\n\n**Example:**\n```js\nqs.parse('toString=foo', { allowPrototypes: false })\n// {}\n\nqs.parse(\"]=toString\", { allowPrototypes: false })\n// {toString = true} <== prototype overwritten\n```\n\nFor more information, you can check out our [blog](https://snyk.io/blog/high-severity-vulnerability-qs/).\n\n## Disclosure Timeline\n- February 13th, 2017 - Reported the issue to package owner.\n- February 13th, 2017 - Issue acknowledged by package owner.\n- February 16th, 2017 - Partial fix released in versions `6.0.3`, `6.1.1`, `6.2.2`, `6.3.1`.\n- March 6th, 2017     - Final fix released in versions `6.4.0`,`6.3.2`, `6.2.3`, `6.1.2` and `6.0.4`\n\n## Remediation\nUpgrade `qs` to version `6.4.0` or higher.\n**Note:** The fix was backported to the following versions `6.3.2`, `6.2.3`, `6.1.2`, `6.0.4`.\n\n## References\n- [GitHub Commit](https://github.com/ljharb/qs/commit/beade029171b8cef9cee0d03ebe577e2dd84976d)\n- [Report of an insufficient fix](https://github.com/ljharb/qs/issues/200)\n\n___\n**Name :** Remote Memory Exposure\n**Description :** ## Overview\n[`request`](https://www.npmjs.com/package/request) is a simplified http request client.\nA potential remote memory exposure vulnerability exists in `request`. If a `request` uses a multipart attachment and the _body type_ option is `number` with value X, then X bytes of uninitialized memory will be sent in the body of the request.\n\nNote that while the impact of this vulnerability is high (memory exposure), exploiting it is likely difficult, as the attacker needs to somehow control the body type of the request. One potential exploit scenario is when a request is composed based on JSON input, including the body type, allowing a malicious JSON to trigger the memory leak.\n\n## Details\nConstructing a `Buffer` class with integer `N` creates a `Buffer`\nof length `N` with non zero-ed out memory.\n**Example:**\n```js\nvar x = new Buffer(100); // uninitialized Buffer of length 100\n// vs\nvar x = new Buffer('100'); // initialized Buffer with value of '100'\n```\n\nInitializing a multipart body in such manner will cause uninitialized memory to be sent in the body of the request.\n\n#### Proof of concept\n```js\nvar http = require('http')\nvar request = require('request')\n\nhttp.createServer(function (req, res) {\n  var data = ''\n  req.setEncoding('utf8')\n  req.on('data', function (chunk) {\n    console.log('data')\n    data += chunk\n  })\n  req.on('end', function () {\n    // this will print uninitialized memory from the client\n    console.log('Client sent:\\n', data)\n  })\n  res.end()\n}).listen(8000)\n\nrequest({\n  method: 'POST',\n  uri: 'http://localhost:8000',\n  multipart: [{ body: 1000 }]\n},\nfunction (err, res, body) {\n  if (err) return console.error('upload failed:', err)\n  console.log('sent')\n})\n```\n\n## Remediation\nUpgrade `request` to version 2.68.0 or higher.\n\nIf a direct dependency update is not possible, use [`snyk wizard`](https://snyk.io/documentation/#wizard) to patch this vulnerability.\n\n## References\n- [GitHub PR](https://github.com/request/request/pull/2018)\n- [Blog: Node Buffer API fix](https://github.com/ChALkeR/notes/blob/master/Lets-fix-Buffer-API.md#previous-materials)\n- [Blog: Information about Buffer](https://github.com/ChALkeR/notes/blob/master/Buffer-knows-everything.md)\n\n___\n**Name :** Uninitialized Memory Exposure\n**Description :** ## Overview\n[`tunnel-agent`](https://www.npmjs.com/package/tunnel-agent) is HTTP proxy tunneling agent. Affected versions of the package are vulnerable to Uninitialized Memory Exposure. \n\nA possible memory disclosure vulnerability exists when a value of type `number` is used to set the _proxy.auth_ option of a request `request` and results in a possible uninitialized memory exposures in the request body.\n\nThis is a result of unobstructed use of the `Buffer` constructor, whose [insecure default constructor increases the odds of memory leakage](https://snyk.io/blog/exploiting-buffer/).\n\n## Details\nConstructing a `Buffer` class with integer `N` creates a `Buffer` of length `N` with raw (not \"zero-ed\") memory.\n\nIn the following example, the first call would allocate 100 bytes of memory, while the second example will allocate the memory needed for the string \"100\":\n```js\n// uninitialized Buffer of length 100\nx = new Buffer(100);\n// initialized Buffer with value of '100'\nx = new Buffer('100');\n```\n\n`tunnel-agent`'s `request` construction uses the default `Buffer` constructor as-is, making it easy to append uninitialized memory to an existing list. If the value of the buffer list is exposed to users, it may expose raw server side memory, potentially holding secrets, private data and code. This is a similar vulnerability to the infamous [`Heartbleed`](http://heartbleed.com/) flaw in OpenSSL.\n\n#### Proof of concept by ChALkeR\n```js\nrequire('request')({\n  method: 'GET',\n  uri: 'http://www.example.com',\n  tunnel: true,\n  proxy:{\n      protocol: 'http:',\n      host:\"127.0.0.1\",\n      port:8080,\n      auth:80\n  }\n});\n```\n\nYou can read more about the insecure `Buffer` behavior [on our blog](https://snyk.io/blog/exploiting-buffer/).\n\nSimilar vulnerabilities were discovered in [request](https://snyk.io/vuln/npm:request:20160119), [mongoose](https://snyk.io/vuln/npm:mongoose:20160116), [ws](https://snyk.io/vuln/npm:ws:20160104) and [sequelize](https://snyk.io/vuln/npm:sequelize:20160115).\n\n## Remediation\nUpgrade `tunnel-agent` to version 0.6.0 or higher.\n\n## References\n- [PoC by ChALkeR](https://gist.github.com/ChALkeR/fd6b2c445834244e7d440a043f9d2ff4)\n- [Github Commit](https://github.com/request/tunnel-agent/commit/9ca95ec7219daface8a6fc2674000653de0922c0)\n\n___"}}
{"actor":{"display_login":"robocop"}}