TeamPass
TeamPass copied to clipboard
Malformed UTF-8 in load_item_history
Steps to reproduce
-
Successfully migrated TeamPass 2.1.27.24 to 2.1.27.36, then to 3.0.0.19 using the official upgrade.php script
-
Getting some "Malformed UTF-8 data" errors now when accessing single items:
Next error occurred Error: Malformed UTF-8 data Informations: - File: items.queries.php - Function: load_item_history Raw answer from server: eyJiaXBoxJOZXholjoiaStNZFkrbmd2MOdINVpaRIBaRnpHU0UwdkzxUiVOOTh2TU1LVnNOWlhibE5cL1dFcGNBS2xgOVA3VDEweUZUWHINvYU9HSIFIODFgaHZZOHJoc05Rbm1s02lUeWOOUmRKdm[...]
-
The item history is empty, everything else gets displayed correctly.
-
Fun fact: If I reload the page, the error does not reoccur and the item including history gets loaded, but a few entries seem to be missing data, e. g. "Tag | Previous value: =>"
-
EDIT: This happens with old (migrated) entries as well as with newly created ones. Changing the default language to english prevents the error message from popping up, but the item history still seems to be missing data ("Tag | Previous value: =>").
Expected behaviour
History should get loaded completely.
Actual behaviour
History does not get loaded completely.
Server configuration
Operating system: Ubuntu 22.04.1 LTS
Web server: Apache/2.4.52 (Ubuntu)
Database: MariaDB 10.6.7
PHP version: PHP 8.0.24
Teampass version: 3.0.0.19
Teampass configuration file: #<?php define("DB_HOST", "xxx"); define("DB_USER", "xxx"); define("DB_PASSWD", "xxx"); define("DB_NAME", "xxx); define("DB_PREFIX", "xxx"); define("DB_PORT", "xxx"); define("DB_ENCODING", "utf8"); define("DB_SSL", array( "key" => "", "cert" => "", "ca_cert" => "", "ca_path" => "", "cipher" => "" )); define("DB_CONNECT_OPTIONS", array( MYSQLI_OPT_CONNECT_TIMEOUT => 10 )); define("SECUREPATH", "/xxx");
if (isset($_SESSION['settings']['timezone']) === true) { date_default_timezone_set($_SESSION['settings']['timezone']); }
Updated from an older Teampass or fresh install: #<?php global $SETTINGS; $SETTINGS = array ( 'max_latest_items' => '10', 'enable_favourites' => '1', 'show_last_items' => '1', 'enable_pf_feature' => '1', 'log_connections' => '0', 'log_accessed' => '1', 'time_format' => 'H:i:s', 'date_format' => 'd/m/Y', 'duplicate_folder' => '0', 'item_duplicate_in_same_folder' => '0', 'duplicate_item' => '0', 'number_of_used_pw' => '3', 'manager_edit' => '1', 'cpassman_dir' => 'xxx', 'cpassman_url' => 'xxx', 'favicon' => 'xxx', 'path_to_upload_folder' => 'xxx', 'url_to_upload_folder' => 'xxx', 'path_to_files_folder' => 'xxx', 'url_to_files_folder' => 'xxx', 'activate_expiration' => '0', 'pw_life_duration' => '0', 'maintenance_mode' => '0', 'enable_sts' => '0', 'encryptClientServer' => '1', 'cpassman_version' => '3.0.0.19', 'ldap_mode' => '1', 'ldap_type' => 'xxx', 'ldap_suffix' => 'xxx', 'ldap_domain_dn' => 'xxx', 'ldap_domain_controler' => 'xxx', 'ldap_user_attribute' => 'xxx', 'ldap_ssl' => 'xxx', 'ldap_tls' => 'xxx', 'ldap_elusers' => 'xxx', 'ldap_search_base' => 'xxx', 'ldap_port' => 'xxx', 'richtext' => '0', 'allow_print' => '1', 'roles_allowed_to_print' => '["["1","2","3"]"]', 'show_description' => '1', 'anyone_can_modify' => '0', 'anyone_can_modify_bydefault' => '0', 'nb_bad_authentication' => '0', 'utf8_enabled' => '1', 'restricted_to' => '0', 'restricted_to_roles' => '0', 'enable_send_email_on_user_login' => '0', 'enable_user_can_create_folders' => '1', 'insert_manual_entry_item_history' => '0', 'enable_kb' => '0', 'enable_email_notification_on_item_shown' => '0', 'enable_email_notification_on_user_pw_change' => '1', 'custom_logo' => 'xxx', 'custom_login_text' => 'Herzlich Willkommen!', 'default_language' => 'german', 'send_stats' => '0', 'send_statistics_items' => 'stat_country;stat_users;stat_items;stat_items_shared;stat_folders;stat_folders_shared;stat_admins;stat_managers;stat_ro;stat_mysqlversion;stat_phpversion;stat_t[...]' 'send_stats_time' => '1536576431', 'get_tp_info' => '0', 'send_mail_on_user_login' => '0', 'nb_items_by_query' => 'auto', 'enable_delete_after_consultation' => '0', 'enable_personal_saltkey_cookie' => '0', 'personal_saltkey_cookie_duration' => '31', 'email_smtp_server' => 'xxx', 'email_smtp_auth' => '1', 'email_auth_username' => 'xxx', 'email_auth_pwd' => 'xxx', 'email_port' => 'xxx', 'email_security' => 'xxx', 'email_server_url' => '', 'email_from' => 'xxx', 'email_from_name' => 'xxx', 'pwd_maximum_length' => '80', 'google_authentication' => '1', 'delay_item_edition' => '0', 'allow_import' => '0', 'proxy_ip' => '', 'proxy_port' => '', 'upload_maxfilesize' => '10mb', 'upload_docext' => 'doc,docx,dotx,xls,xlsx,xltx,rtf,csv,txt,pdf,ppt,pptx,pot,dotx,xltx', 'upload_imagesext' => 'jpg,jpeg,gif,png', 'upload_pkgext' => '7z,rar,tar,zip', 'upload_otherext' => 'sql,xml', 'upload_imageresize_options' => '1', 'upload_imageresize_width' => '800', 'upload_imageresize_height' => '600', 'upload_imageresize_quality' => '90', 'use_md5_password_as_salt' => '0', 'ga_website_name' => 'xxx', 'api' => '0', 'subfolder_rights_as_parent' => '1', 'show_only_accessible_folders' => '1', 'enable_suggestion' => '0', 'otv_expiration_period' => '7', 'default_session_expiration_time' => '60', 'duo' => '0', 'enable_server_password_change' => '0', 'ldap_object_class' => 'user', 'bck_script_path' => 'xxx', 'bck_script_filename' => 'xxx', 'syslog_enable' => '0', 'syslog_host' => 'localhost', 'syslog_port' => '514', 'manager_move_item' => '1', 'create_item_without_password' => '0', 'otv_is_enabled' => '0', 'agses_authentication_enabled' => '0', 'item_extra_fields' => '0', 'saltkey_ante_2127' => 'none', 'migration_to_2127' => 'done', 'files_with_defuse' => 'done', 'timezone' => 'Europe/Vienna', 'enable_attachment_encryption' => '1', 'personal_saltkey_security_level' => '50', 'ldap_new_user_is_administrated_by' => '2', 'disable_show_forgot_pwd_link' => '0', 'offline_key_level' => '0', 'enable_http_request_login' => '0', 'ldap_and_local_authentication' => '1', 'secure_display_image' => '1', 'upload_zero_byte_file' => '0', 'upload_all_extensions_file' => '1', 'bck_script_passkey' => 'xxx', 'ldap_new_user_role' => '8', 'ldap_allowed_usergroup' => 'xxx', 'ldap_usergroup' => 'xxx', 'ldap_bind_dn' => 'xxx', 'ldap_bind_passwd' => 'xxx', 'use_http_request_login' => 'xxx', 'max_last_items' => '3', 'can_create_root_folder' => '0', 'ga_reset_by_user' => '1', 'admin_2fa_required' => '1', 'password_overview_delay' => '20', 'roles_allowed_to_print_select' => '', 'clipboard_life_duration' => '0', 'mfa_for_roles' => '[1,2,3,4,5,6,8,9]', 'tree_counters' => '0', 'settings_offline_mode' => '0', 'settings_tree_counters' => '0', 'copy_to_clipboard_small_icons' => '0', 'enable_massive_move_delete' => '0', 'email_debug_level' => '0', 'onthefly-backup-key' => 'xxx', 'onthefly-restore-key' => 'xxx', 'ldap_user_dn_attribute' => 'xxx', 'ldap_dn_additional_user_dn' => '', 'ldap_user_object_filter' => '', 'ldap_bdn' => 'xxx', 'ldap_hosts' => 'xxx', 'ldap_password' => 'xxx', 'ldap_username' => 'xxx', 'api_token_duration' => '60', 'enable_tasks_manager' => '0', 'task_maximum_run_time' => '300', 'maximum_number_of_items_to_treat' => '300', 'tasks_manager_refreshing_period' => '100', 'duo_ikey' => '', 'duo_skey' => '', 'duo_host' => '', 'duo_failmode' => 'secure', 'teampass_version' => '', );
Client configuration
Browser: Google Chrome 106.0.5249.119
Operating system: Windows 10
Logs
Web server error log
Undefined array key "en_lang" in /xxx/TeamPass-3.0.0.19/sources/main.functions.php on line 74, referer: https://xxx/index.php?page=items
Trying to access array offset on value of type null in /xxx/TeamPass-3.0.0.19/sources/main.functions.php on line 74, referer: https://xxx/index.php?page=items
Log from the web-browser developer console (CTRL + SHIFT + i)
History: false