getsentry / getsentry/sentry

Need FIPS 140-3 support

Open
#66,195 9 comments 5 reactions 0 assignees View on GitHub
Feature Waiting for: Product Owner
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
1d 5h
Merged PRs (30d)
624

Description

### Problem Statement

getsentry/sentry v23.12.1

Feature Request: Need FIPS 140-3 support.
CC: @chadwhitacre

Rationale:
In FedRAMP env, apps must run in FIPS ON mode.
getsentry/sentry:23.12.1 uses `MD5` algo in ways which are not allowed in FIP ON mode. Therefore, container crashes right at startup.

Logs:
Crash logs of getsentry/sentry:23.12.1 container image in FIPS ON mode.

```
Traceback (most recent call last):
File "/usr/local/bin/sentry", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.10/dist-packages/sentry/runner/__init__.py", line 195, in main
func(**kwargs)
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/click/decorators.py", line 33, in new_func
return f(get_current_context(), *args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/sentry/runner/decorators.py", line 69, in inner
return ctx.invoke(f, *args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/click/decorators.py", line 33, in new_func
return f(get_current_context(), *args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/sentry/runner/decorators.py", line 28, in inner
configure()
File "/usr/local/lib/python3.10/dist-packages/sentry/runner/__init__.py", line 131, in configure
_configure(ctx, py, yaml, skip_service_validation)
File "/usr/local/lib/python3.10/dist-packages/sentry/runner/settings.py", line 148, in configure
initialize_app(
File "/usr/local/lib/python3.10/dist-packages/sentry/runner/initializer.py", line 326, in initialize_app
bootstrap_options(settings, config["options"])
File "/usr/local/lib/python3.10/dist-packages/sentry/runner/initializer.py", line 168, in bootstrap_options
load_defaults()
File "/usr/local/lib/python3.10/dist-packages/sentry/options/__init__.py", line 78, in load_defaults
from sentry.hybridcloud import options # NOQA
File "/usr/local/lib/python3.10/dist-packages/sentry/hybridcloud/options.py", line 4, in
register(
File "/usr/local/lib/python3.10/dist-packages/sentry/options/manager.py", line 410, in register
self.registry[key] = self.make_key(key, default, type, flags, ttl, grace, grouping_info)
File "/usr/local/lib/python3.10/dist-packages/sentry/options/manager.py", line 248, in make_key
_make_cache_key(name),
File "/usr/local/lib/python3.10/dist-packages/sentry/options/manager.py", line 152, in _make_cache_key
return "o:%s" % md5_text(key).hexdigest()
File "/usr/local/lib/python3.10/dist-packages/sentry/utils/hashlib.py", line 14, in md5_text
m = _md5()
ValueError: [digital envelope routines: EVP_DigestInit_ex] disabled for FIPS
```

### Solution Brainstorm

_No response_

### Product Area

Other

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.