Commit graph

15 commits

Author SHA1 Message Date
Larry Gregory
74d88580a5
Migrate codebase to use Object.hasOwn instead of Object.hasOwnProperty (#186829)
## Summary

This PR has breadth, but not depth. This adds 3 new `eslint` rules. The
first two protect against the use of code generated from strings (`eval`
and friends), which will not work client-side due to our CSP, and is not
something we wish to support server-side. The last rule aims to prevent
a subtle class of bugs, and to defend against a subset of prototype
pollution exploits:

- `no-new-func` to be compliant with our CSP, and to prevent code
execution from strings server-side:
https://eslint.org/docs/latest/rules/no-new-func
- `no-implied-eval` to be compliant with our CSP, and to prevent code
execution from strings server-side:
https://eslint.org/docs/latest/rules/no-implied-eval. Note that this
function implies that it prevents no-new-func, but I don't see [test
cases](https://github.com/eslint/eslint/blob/main/tests/lib/rules/no-implied-eval.js)
covering this behavior, so I think we should play it safe and enable
both rules.
- `no-prototype-builtins` to prevent accessing shadowed properties:
https://eslint.org/docs/latest/rules/no-prototype-builtins


In order to be compliant with `no-prototype-builtins`, I've migrated all
usages and variants of `Object.hasOwnProperty` to use the newer
[`Object.hasOwn`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwn).
2024-08-13 10:30:19 -05:00
zyoshoka
1ead6b533a
Remove deprecated abab package (#183383)
## Summary

This PR removes deprecated [`abab`](https://www.npmjs.com/package/abab)
package.

### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

Co-authored-by: Jeramy Soucy <jeramy.soucy@elastic.co>
2024-05-16 12:48:26 +02:00
Alejandro Fernández Haro
0284cc158d
[Telemetry] Use header-based versioned APIs instead of path-based (#159839) 2023-08-12 14:20:06 -07:00
Christiane (Tina) Heiligers
7bbe92f085
Enables preventing access to internal APIs (#156935)
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-05-10 04:25:15 -07:00
Jonathan Budzenski
6bf11a7d3e
Clean up glob related dependencies (#138571)
* Clean up glob related dependencies

* wip

* update snapshots

* updates

* fix tests

* update package.json

* i18n

* fix tests

* onlyFiles: false

* preserve folders on **/* globs

* one more

* revert instance of onlyFiles: false
2022-09-01 09:00:31 -05:00
Alejandro Fernández Haro
acb8e54d47
[Telemetry] Ensure refreshCache: true in tests and helpers (#121913) 2021-12-23 10:04:28 +01:00
Brandon Kobel
4584a8b570
Elastic License 2.0 (#90099)
* Updating everything except the license headers themselves

* Applying ESLint rules

* Manually replacing the stragglers
2021-02-03 18:12:39 -08:00
Alejandro Fernández Haro
df4f4758fa
Remove the parameter timestamp in /api/telemetry/v2/clusters/_stats (#83791)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-11-23 12:09:16 +00:00
Ahmad Bamieh
1af551bae1
[Telemetry] Remove from and to timestamps from usage stats APIs (#81579)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-11-02 13:51:18 +02:00
restrry
bf04235dae apply prettier styles 2020-05-22 09:08:58 +02:00
spalger
8e9a8a84dc autofix all violations 2019-12-13 23:17:13 -07:00
Ahmad Bamieh
a27cbc1b13
Encrypt telemetry (#33121)
* draft code

* finalize solution

* encrypted telemetry

* update jwks

* code review follow up

* finalize PR

* @elastic/node-crytpo typings

* node-crypto typings in x-pack

* yarn.lock

* add tests

* useInternalUser

* more tests

* unify variable name

* update typings

* remove root level node-crypto typings

* array of encrypted clusters, update endpoint
2019-05-20 22:04:42 -05:00
Larry Gregory
22ba11eb52
Prevents dynamic import/require statements (#27515)
## Summary

This PR enables the `import/no-dynamic-require` eslint rule, which requires that all require/import statements be statically defined.

This mitigates certain attack vectors, such as those which enabled [`ESA-2018-18`](https://www.elastic.co/community/security)/[`CVE-2018-17246`](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-17246)
2018-12-21 11:15:20 -05:00
Tim Sullivan
80833cde95
Remove /api/_xpack/usage and /api/_kibana/v1/stats (#20800)
/api/_xpack/usage was added as a target for 6.4.0 but it will not be
used. Instead, the /api/stats response will include usage info on
everything that gets registered with the usage service in
/src/server/usage

/api/_kibana/v1/stats is a GET API that was added in 6.2, during a point
where we thought providing usage stats through a public API would be OK
for capturing internally, with the benefit of having it be visible.

However, we've pivoted away from that idea because it doesn't line up
too well with the existing flow of data, where usage stats are combined
with the "Kibana stats" such as process uptime and number of requests.
We want to shift how we collect stats from Kibana, but it will be
gradual. It might be a while before we have an architecture that makes
sense for a standalone public API for the usage stats

This endpoint was never documented, and isn't used anywhere in the code.
It does incur a maintenance cost though.

Therefore, instead of waiting for a next major version to remove this
API, I'm removing it for 6.4. It will be marked in the release notes as
a breaking change. Since it was never documented, it should not provide
a problem.
2018-07-19 13:46:52 -07:00
Jenkins CI
fe4609647d Migrate x-pack-kibana source to kibana 2018-04-24 13:48:10 -07:00