VYPR
Low severityNVD Advisory· Published Mar 21, 2023· Updated Feb 27, 2025

Business Logic Errors in answerdev/answer

CVE-2023-1541

Description

Business Logic Errors in GitHub repository answerdev/answer prior to 1.0.6.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

CVE-2023-1541 is a business logic vulnerability in Answer platform prior to 1.0.6 that allowed admins to arbitrarily modify other users' passwords.

Vulnerability

Overview

The vulnerability is a business logic error within Answer, an open-source Q&A platform. In versions prior to 1.0.6, the UpdateUserPassword function in the admin service lacked a critical check to prevent an administrator from changing the password of another administrator or any user. This flaw is rooted in the absence of a restriction ensuring that an admin can only modify their own password [1][3].

Exploitation

An authenticated administrator could exploit this flaw by sending a crafted request to the password update endpoint, specifying a different user ID than their own. No additional authentication or privileges beyond those of a standard admin user are required to trigger the vulnerability. The attacker does not need to possess any secret or token belonging to the victim user [3][4].

Impact

A successful exploitation allows an attacker with admin privileges to change the password of any other user, including other administrators. This could lead to account takeover, privilege escalation, or denial of service if critical accounts are locked out. The vulnerability undermines the authentication and authorization controls of the platform, enabling a malicious insider or compromised admin to gain control over the entire system [1][4].

Mitigation

The issue has been fixed in Answer version 1.0.6. The patch, identified in commit 15390adbfcd5fd37af4661f992f8873ae5a6b840, adds a check that rejects any password update attempt where the target user ID matches the requesting admin's user ID [3]. Users are strongly advised to upgrade to the latest version and review their current admin accounts for any unauthorized changes.

AI Insight generated on May 20, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
github.com/answerdev/answerGo
< 1.0.61.0.6

Affected products

2

Patches

1
15390adbfcd5

fix(admin): add restriction about admin modify their password

https://github.com/answerdev/answerLinkinStarsFeb 23, 2023via ghsa
3 files changed · +7 0
  • i18n/en_US.yaml+2 0 modified
    @@ -35,6 +35,8 @@ backend:
         other: Email and password do not match.
       error:
         admin:
    +      cannot_update_their_password:
    +        other: You cannot modify your password.
           email_or_password_wrong:
             other: Email and password do not match.
         answer:
    
  • internal/base/reason/reason.go+1 0 modified
    @@ -64,4 +64,5 @@ const (
     	TagCannotSetSynonymAsItself      = "error.tag.cannot_set_synonym_as_itself"
     	NotAllowedRegistration           = "error.user.not_allowed_registration"
     	SMTPConfigFromNameCannotBeEmail  = "error.smtp.config_from_name_cannot_be_email"
    +	AdminCannotUpdateTheirPassword   = "error.admin.cannot_update_their_password"
     )
    
  • internal/service/user_admin/user_backyard.go+4 0 modified
    @@ -153,6 +153,10 @@ func (us *UserAdminService) AddUser(ctx context.Context, req *schema.AddUserReq)
     
     // UpdateUserPassword update user password
     func (us *UserAdminService) UpdateUserPassword(ctx context.Context, req *schema.UpdateUserPasswordReq) (err error) {
    +	// Users cannot modify their password
    +	if req.UserID == req.LoginUserID {
    +		return errors.BadRequest(reason.AdminCannotUpdateTheirPassword)
    +	}
     	userInfo, exist, err := us.userRepo.GetUserInfo(ctx, req.UserID)
     	if err != nil {
     		return err
    

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

4

News mentions

0

No linked articles in our index yet.