    def process_request(self, request):
        """ Adds data necessary for Horizon to function to the request.

        Adds the current "active" :class:`~horizon.Dashboard` and
        :class:`~horizon.Panel` to ``request.horizon``.

        Adds a :class:`~horizon.users.User` object to ``request.user``.
        """
        # A quick and dirty way to log users out
        def user_logout(request):
            if hasattr(request, '_cached_user'):
                del request._cached_user
            # Use flush instead of clear, so we rotate session keys in
            # addition to clearing all the session data
            request.session.flush()
        request.__class__.user_logout = user_logout

        request.__class__.user = users.LazyUser()
        request.horizon = {'dashboard': None, 'panel': None}
NVD is only using a subset of CWE for mapping instead of the entire CWE, and the weakness type is not covered by that subset.