https://bz.apache.org/bugzilla/show_bug.cgi?id=70272

            Bug ID: 70272
           Summary: mod_auth_digest: failed child_init destroys shared rmm
                    state for all processes and leaves the child with
                    dangling pointers
           Product: Apache httpd-2
           Version: 2.4.69
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: mod_auth_digest
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

If apr_global_mutex_child_init() fails in initialize_child() (e.g. with
"Mutex flock:..." when the lock file has been removed or is not readable
by the child user), the child calls log_error_and_cleanup() ->
cleanup_tables(). cleanup_tables() is owner-side cleanup, but here it
runs in a child.

This effects other child since         apr_rmm_destroy(client_rmm);
        client_rmm = NULL; happens in cleanup_tables

If another child tries to generate a client in client table it will fail and
causes gc to remove old clinets. Therefore a new client is responend with 503.

A child that cannot initialise must not modify shared state. It should
either exit, or disable client tracking locally and fail Digest requests
needing it with a clear error.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to