Files
Open_Ultra_SAST/benchmarks/pairs/vibe-py/vampi-user-model-get-user/vuln.py
T

25 lines
912 B
Python
Raw Normal View History

# Provenance: erev0s/VAmPI get_user (vuln).
# repo: erev0s/VAmPI
# commit: 1713b54b601ad29582581eeda4b31fceb1319874
# parent: 1713b54b601ad29582581eeda4b31fceb1319874
# commit_url: https://github.com/erev0s/VAmPI/blob/1713b54b601ad29582581eeda4b31fceb1319874/models/user_model.py#L72
# cve:
# license: MIT
# function: get_user
# relpath: models/user_model.py
# provenance: human
# mechanism: source_reaches_sink
def get_user(username):
if vuln: # SQLi Injection
user_query = f"SELECT * FROM users WHERE username = '{username}'"
query = db.session.execute(text(user_query))
ret = query.fetchone()
if ret:
fin_query = '{"username": "%s", "email": "%s"}' % (ret[1], ret[3])
else:
fin_query = None
else:
fin_query = User.query.filter_by(username=username).first()
return fin_query